);
}
/* ============================================================
SECTION 3 — Sticky personas (left) + scrolling use-case panels (right)
As the user scrolls, the active persona on the left updates to
match the panel in view. Click a persona to jump to its panel.
============================================================ */
const { useEffect, useRef } = React;
/* Map image-slot IDs to actual filenames in /static/landing/images/ */
function slotSrc(id) {
const map = {
"fam-appa": "appa.png",
"fam-amma": "amma.png",
"fam-you": "you.png",
"fam-kids": "arjun-riya.png",
"fam-pet": "bruno.png",
"bp-hero-adults": "family.png",
"bp-hero-adults-thumb": "you.png",
"bp-hero-kids": "kids.png",
"bp-hero-kids-thumb": "arjun-riya.png",
"bp-hero-elders": "elders_family.png",
"bp-hero-elders-thumb": "appa.png",
"bp-hero-pet": "pets.png",
"bp-hero-pet-thumb": "bruno.png",
"hero-grandmother": "hero.png",
"family-across-generations": "family.png",
};
return "/static/landing/images/" + (map[id] || id.replace(/^(fam-|bp-hero-)/, "") + ".png");
}
function PersonaHeroPhoto({ id, placeholder, initial, tint }) {
return (
{initial}
);
}
/* === Use case mini-cards live in window.UCV (arogya-uc-vizes.jsx) === */
const _legacy_UC_LipidChart_removed = null;
const _legacyVisitQuote = null;
const _legacySymptoms = null;
const _legacyCycle = null;
const _legacyVaccines = null;
const _legacySchool = null;
const _legacyAntibiotics = null;
const _legacyMeds = null;
const _legacyFourDoctors = null;
const _legacyFromAfar = null;
const _legacyEmergency = null;
const _legacyPetVaccines = null;
const _legacyPetWeight = null;
const _legacyPetDeworm = null;
function ByPersonSection() {
const UCV = (typeof window !== "undefined" && window.UCV) || { ADULTS: [], CHILDREN: [], ELDERS: [], PETS: [] };
const UCFrame = UCV.UCFrame;
const personas = [
{
id: "adults",
label: "For you",
who: "Adults",
range: "25 – 50",
heroId: "bp-hero-adults",
placeholder: "Indian adult 30s/40s — confident, warm portrait at home",
initial: "A",
preview: "Blood trends · Menstrual cycles · Thyroid",
headline: "Your own health, finally tracked.",
sub: "Sixteen kinds of records, one timeline. Trends across years that no individual visit reveals.",
useCases: UCV.ADULTS,
},
{
id: "kids",
label: "For your children",
who: "Children",
range: "0 – 18",
heroId: "bp-hero-kids",
placeholder: "Indian children, primary school age, siblings, warm domestic",
initial: "C",
preview: "Vaccines · Growth · Allergies · Antibiotics",
headline: "Every booster. Every milestone. Every certificate.",
sub: "Twelve things every parent juggles — vaccines, growth, allergies, antibiotics, ENT, myopia, dental — finally in one place.",
useCases: UCV.CHILDREN,
},
{
id: "elders",
label: "For your parents",
who: "Elder care",
range: "60+",
heroId: "bp-hero-elders",
placeholder: "Indian senior couple at home, warm afternoon light",
initial: "E",
preview: "Medications · Multi-specialist · Emergency",
headline: "Fifteen specialists. One memory. From anywhere.",
sub: "Cardiac, kidney, diabetes, neurology, ortho — every specialist, every report, every pill. Manage from another city. Emergency-ready.",
useCases: UCV.ELDERS,
},
{
id: "pets",
label: "For your pet",
who: "Pet care",
range: "family",
heroId: "bp-hero-pet",
placeholder: "Family dog or cat, warm domestic scene",
initial: "P",
preview: "Vaccines · Deworming · Wellness · Oncology",
headline: "Furry family. Same memory.",
sub: "Vaccines, deworming, wellness, weight, dental, allergies, surgery, oncology, breed screening — twelve kinds of records for the family member that can't speak.",
useCases: UCV.PETS,
},
];
const [active, setActive] = useStateR(0);
const panelRefs = useRef([]);
useEffect(() => {
const obs = new IntersectionObserver(entries => {
// pick the entry closest to top of viewport that is intersecting
let best = null;
entries.forEach(e => {
if (e.isIntersecting) {
if (!best || e.boundingClientRect.top < best.boundingClientRect.top) best = e;
}
});
if (best) {
const idx = +best.target.dataset.idx;
setActive(idx);
}
}, { rootMargin: "-40% 0px -50% 0px", threshold: [0, 0.5, 1] });
panelRefs.current.forEach(r => r && obs.observe(r));
return () => obs.disconnect();
}, []);
const jumpTo = (i) => {
const el = panelRefs.current[i];
if (!el) return;
const top = el.getBoundingClientRect().top + window.pageYOffset - 88;
window.scrollTo({ top, behavior: "smooth" });
};
return (
Built for the whole family
Every person in your family has a health story. Arogya holds all of them.
Scroll through every life stage — each with the use cases Arogya actually covers.
{/* LEFT — sticky persona list */}
{/* RIGHT — scrolling panels */}
);
}
/* ============================================================
SECTION 4 — Capability wall: documents Arogya reads
============================================================ */
/* Faux document previews — each visually distinct. Each is a small visual
pretending to be the actual document type. Not branded; generic shapes. */
function DocPreview_LabPDF() {
return (