// Page sections part 2: WhatWeDo, PatientPath, SecondOpinion, Stats, Stories, CTA, Contacts, Footer // ============ WHAT WE DO ============ const WhatWeDo = () => { return (
{DATA.whatWeDo.map((item, i) => (
{item.tag}

{item.title}

{item.desc}

))}
); }; // ============ STATS ============ const Stats = () => { return (
{DATA.stats.map((s, i) => (
{s.value}
{s.label}
))}
); }; // ============ PATIENT PATH ============ const PatientPath = () => { return (
{DATA.patientPath.map((step, i) => (
{step.n}

{step.title}

{step.desc}

))}
); }; // ============ SECOND OPINION ============ const SecondOpinion = ({ onSecondOpinion }) => { return (
Second opinion

Второе мнение — без поездки в Москву

Загрузите снимки, выписки или результаты анализов. Эксперты НАЦЗДРАВ изучат документы, соберут консилиум и подготовят независимое заключение в течение 3-7 дней.

    {[ 'Подходит при онкологии, кардиологии, неврологии', 'Поддержка форматов: PDF, JPG, PNG, DICOM', 'Консилиум 3-5 специалистов разных направлений', 'Письменное заключение и план дальнейших шагов', ].map((it, i) => (
  • {it}
  • ))}
e.preventDefault()}> Как это работает
МРТ / Заключение
Выписка
{[78, 92, 64, 86, 70].map((w, i) => ( ))}
Анализы.pdf
{[88, 70, 82, 64].map((w, i) => ( ))}
Заключение консилиума
5 врачей · 4 направления
); }; // ============ STORIES ============ const Stories = () => { const [page, setPage] = useS(0); const perPage = 3; const total = DATA.stories.length; const totalPages = Math.ceil(total / perPage); const visible = useM(() => { const start = page * perPage; return DATA.stories.slice(start, start + perPage); }, [page]); return (
e.preventDefault()}> Все истории } />
{visible.map((s, i) => (

«{s.quote}»

{s.name.split(' ')[0][0]}{s.name.split(' ')[1]?.[0] || ''}
{s.name}
Диагноз: {s.diagnosis}
{s.direction}
))}
{Array.from({ length: totalPages }).map((_, i) => (
); }; // ============ FINAL CTA ============ const FinalCta = ({ onBook, onSecondOpinion }) => { return (

Не откладывайте здоровье

Запишитесь на приём или получите второе мнение уже сегодня. Мы поможем разобраться даже в сложном случае.

); }; // ============ FOOTER ============ const Footer = () => { return ( ); }; // ============ FLOATING WHATSAPP ============ const FloatingActions = () => { return ( ); }; Object.assign(window, { WhatWeDo, Stats, PatientPath, SecondOpinion, Stories, FinalCta, Footer, FloatingActions });