/* global React */
const { useState, useEffect, useRef } = React;
/* ============================================================
Shared bits
============================================================ */
const heroCopy = {
eyebrow: "Your complete family's health records. In one place.",
headline: (
<>Your family's complete health memory. >
),
sub: "Reports, prescriptions, medicines, vaccinations, menstrual cycles, doctor visits, Ayurvedic treatments — intelligently organized into one secure timeline your family can access anytime.",
ctaPrimary: "Start free now",
ctaSecondary: "See how it works",
trust: "Your records stay in your own Google Drive. Always under your control."
};
function HeroCTAs() {
return (
{heroCopy.ctaPrimary} →
→
{heroCopy.ctaSecondary}
✓
{heroCopy.trust}
);
}
function TelegramGlyph() {
return (
);
}
/* ============================================================
Variant A — Timeline
============================================================ */
function HeroTimeline() {
return (
{heroCopy.eyebrow}
{heroCopy.headline}
{heroCopy.sub}
);
}
function TimelineVisual() {
const rows = [
{ who: "Amma", role: "Mother, 64", color: "var(--c-brand)", events: [
{ date: "Today", label: "BP reading logged", kind: "vital" },
{ date: "Jul 12", label: "Cardiology follow-up", kind: "visit" },
{ date: "Jun 03", label: "Telmisartan 40mg", kind: "med" },
{ date: "May 18", label: "Lipid panel — uploaded", kind: "report" },
]
},
{ who: "Appa", role: "Father, 68", color: "var(--c-slate)", events: [
{ date: "Aug 02", label: "Ayurveda consult — joints", kind: "visit" },
{ date: "Jul 21", label: "Knee MRI report", kind: "report" },
]
},
{ who: "Riya", role: "Daughter, 9", color: "var(--c-accent)", events: [
{ date: "Sep 14", label: "MMR booster due", kind: "due" },
{ date: "Mar 09", label: "Pediatric visit notes", kind: "visit" },
]
},
];
const kindColor = {
vital: "var(--c-brand-deep)",
visit: "var(--c-slate)",
med: "var(--c-accent)",
report:"var(--c-ink-2)",
due: "var(--c-accent)"
};
return (
The Iyer family · Timeline
This month
{rows.map((r, i) => (
{r.events.map((e, j) => (
{e.date}
{e.label}
{e.kind}
))}
))}
{/* Floating helper card */}
Amma's BP drifted up.
Last 3 readings ↑. Reminder set for Tuesday.
);
}
/* ============================================================
Variant B — Family card stack
============================================================ */
function HeroStack() {
return (
{heroCopy.eyebrow}
{heroCopy.headline}
{heroCopy.sub}
);
}
function FamilyStackVisual() {
const members = [
{ name: "Amma", role: "Mother", tag: "12 records", accent: "var(--c-brand)" },
{ name: "Appa", role: "Father", tag: "8 records", accent: "var(--c-slate)" },
{ name: "Arjun", role: "Self", tag: "5 records", accent: "var(--c-accent)" },
{ name: "Riya", role: "Daughter", tag: "Vaccinations", accent: "#9b8cc9" },
];
return (
{members.map((m, i) => {
const rot = [-4, 2.5, -2, 3][i];
const offsetY = i * 84;
const offsetX = [0, 36, 10, 44][i];
return (
{m.name[0]}
{m.tag}
{/* mini chart */}
{Array.from({ length: 28 }).map((_, k) => {
const h = 6 + (Math.sin(k * 0.7 + i) + 1.5) * 6;
return ;
})}
);
})}
);
}
/* ============================================================
Variant C — Editorial
============================================================ */
function HeroEditorial() {
return (
Arogya remembers what healthcare systems forget
Your family's complete health memory.
{heroCopy.sub}
);
}
function TelegramSnippet() {
const msgs = [
{ from: "you", text: "📎 Mom's blood test — Apollo 22 Aug.pdf" },
{ from: "bot", text: "Got it. Filed under Amma → Reports → Lipid Panel. Cholesterol slightly up vs Feb. Want me to compare?" },
{ from: "you", text: "yes" },
{ from: "bot", text: "Total cholesterol 218 → 234. LDL also up. I'll flag for Amma's next cardio visit." },
];
return (
{msgs.map((m, i) => (
{m.text}
))}
);
}
/* ============================================================
Variant D — Split Portrait
============================================================ */
function useNarrow(bp) {
bp = bp || 760;
const [narrow, setNarrow] = React.useState(typeof window !== "undefined" && window.innerWidth < bp);
React.useEffect(function() {
function h() { setNarrow(window.innerWidth < bp); }
window.addEventListener("resize", h);
return function() { window.removeEventListener("resize", h); };
}, []);
return narrow;
}
function HeroPortrait() {
const narrow = useNarrow(760);
return (
{heroCopy.eyebrow}
{heroCopy.headline}
{heroCopy.sub}
{!narrow && (
♡
Amma's vitals
Last 30 days
REMINDER · TUE 9:00
Appa's Ayurveda follow-up in 2 days
)}
{narrow && (
{["🔒 Secure", "☁️ Your Drive", "👨👩👧 Family-wide"].map(function(t) {
return {t} ;
})}
)}
);
}
function Mini({ label, v, trend }) {
const color = trend === "up" ? "var(--c-accent)" : "var(--c-brand-deep)";
return (
);
}
window.AroHero = { HeroTimeline, HeroStack, HeroEditorial, HeroPortrait };