feat: init

This commit is contained in:
2026-05-08 22:40:44 +03:00
commit d8786937af
84 changed files with 13927 additions and 0 deletions

View File

@@ -0,0 +1,328 @@
import {
ActivityIcon,
BadgeCheckIcon,
CalendarCheckIcon,
ClipboardCheckIcon,
ClipboardListIcon,
ClockIcon,
FileTextIcon,
HeartPulseIcon,
MapPinIcon,
MicroscopeIcon,
ShieldCheckIcon,
StethoscopeIcon,
UserRoundIcon,
WalletCardsIcon,
} from "lucide-react";
export const site = {
name: "Northline Clinic",
tagline:
"Превентивная медицина, диагностика и сопровождение пациента без тревожной риторики, скрытых этапов и медицинских обещаний результата.",
cta: "Записаться на прием",
secondaryCta: "Выбрать маршрут",
heroImage: "https://images.unsplash.com/photo-1584515933487-779824d29309?auto=format&fit=crop&w=1400&q=82",
accentImage: "https://images.unsplash.com/photo-1579684385127-1ef15d508118?auto=format&fit=crop&w=1200&q=82",
nav: [
{ href: "/services", label: "Маршруты" },
{ href: "/specialists", label: "Команда" },
{ href: "/booking", label: "Запись" },
{ href: "/patient-info", label: "Пациентам" },
{ href: "/contacts", label: "Контакты" },
],
} as const;
export const highlights = [
{
title: "Координатор",
value: "1 маршрут",
text: "Пациент видит цель визита, подготовку, кабинет и следующий шаг.",
icon: UserRoundIcon,
},
{
title: "Диагностика",
value: "48 часов",
text: "Окна для забора анализов, инструментальных исследований и разбора результатов.",
icon: MicroscopeIcon,
},
{
title: "Документы",
value: "до визита",
text: "Чеклист паспорта, прошлых исследований, препаратов и страховых данных.",
icon: ClipboardCheckIcon,
},
] as const;
export const serviceLines = [
{
name: "Первичная навигация",
department: "Терапия",
duration: "60 минут",
price: "от 6 900 ₽",
tag: "первый визит",
text: "Анамнез, осмотр, план обследований и понятная фиксация следующего шага.",
includes: ["разбор жалоб", "медицинский анамнез", "план диагностики"],
preparation: "Возьмите прошлые заключения, список препаратов и вопросы к врачу.",
},
{
name: "Кардиометаболический скрининг",
department: "Кардио + эндокринология",
duration: "2 визита",
price: "от 14 800 ₽",
tag: "диагностика",
text: "Маршрут для оценки факторов риска без обещаний лечения или результата.",
includes: ["ЭКГ", "лабораторный блок", "разбор показателей"],
preparation: "Координатор заранее подтвердит, какие исследования нужны именно для маршрута.",
},
{
name: "Эндокринологический разбор",
department: "Эндокринология",
duration: "45 минут",
price: "от 7 200 ₽",
tag: "специалист",
text: "Разбор симптомов, образа жизни, текущих анализов и плана наблюдения.",
includes: ["история анализов", "образ жизни", "план контроля"],
preparation: "Принесите результаты исследований за последние 6-12 месяцев, если они есть.",
},
{
name: "План наблюдения 30 дней",
department: "Care coordination",
duration: "30 дней",
price: "от 12 000 ₽",
tag: "сопровождение",
text: "Координатор помогает не потерять повторный визит, документы и контрольные точки.",
includes: ["follow-up", "чеклист документов", "напоминания"],
preparation: "Подходит после первичного приема, когда врач уже зафиксировал план.",
},
] as const;
export const products = serviceLines;
export const carePathway = [
{
step: "01",
title: "Triage-заявка",
text: "Координатор уточняет цель визита, срочность, документы и ограничения.",
},
{
step: "02",
title: "Подготовка",
text: "Пациент получает чеклист: что взять, куда прийти, сколько времени заложить.",
},
{
step: "03",
title: "Прием и диагностика",
text: "Врач фиксирует план, а исследования привязываются к понятному маршруту.",
},
{
step: "04",
title: "Разбор результатов",
text: "Повторный контакт нужен, чтобы пациент понял заключение и следующий шаг.",
},
] as const;
export const doctors = [
{
name: "Мария Северова",
role: "Терапевт, preventive care",
experience: "12 лет практики",
focus: "первичная навигация, check-up маршруты, хроническое наблюдение",
nextSlot: "сегодня 16:30",
},
{
name: "Илья Данилов",
role: "Кардиолог",
experience: "9 лет практики",
focus: "ЭКГ, факторы риска, план наблюдения после диагностики",
nextSlot: "завтра 11:00",
},
{
name: "Анна Волкова",
role: "Эндокринолог",
experience: "11 лет практики",
focus: "разбор анализов, метаболическое здоровье, безопасный follow-up",
nextSlot: "пт 14:20",
},
{
name: "Елена Ким",
role: "Координатор пациента",
experience: "care navigation",
focus: "запись, документы, страховые вопросы, маршрут между кабинетами",
nextSlot: "онлайн сегодня",
},
] as const;
export const scheduleRows = [
{
service: "Первичная навигация",
specialist: "Мария Северова",
room: "каб. 204",
time: "сегодня 16:30",
prep: "паспорт, прошлые заключения",
},
{
service: "ЭКГ + консультация",
specialist: "Илья Данилов",
room: "диагностика 2",
time: "завтра 11:00",
prep: "приход за 15 минут",
},
{
service: "Эндокринологический разбор",
specialist: "Анна Волкова",
room: "каб. 318",
time: "пт 14:20",
prep: "анализы при наличии",
},
] as const;
export const visitFormats = [
{
title: "Первичный визит",
price: "60 минут",
items: ["анамнез и цель визита", "осмотр", "план обследований"],
},
{
title: "Диагностический день",
price: "1-2 дня",
items: ["лабораторный блок", "ЭКГ/исследования", "повторный разбор"],
},
{
title: "Наблюдение",
price: "30 дней",
items: ["координатор", "контроль документов", "follow-up слот"],
},
] as const;
export const tastingSets = visitFormats;
export const carePillars = [
{
title: "Неэкстренный профиль",
text: "Шаблон явно отделяет плановый прием от срочной и экстренной помощи.",
icon: ShieldCheckIcon,
},
{
title: "Клиническая подготовка",
text: "Документы, препараты и прошлые исследования собираются до визита.",
icon: ClipboardListIcon,
},
{
title: "Разбор результатов",
text: "Результаты не остаются набором цифр: нужен объясняющий follow-up.",
icon: HeartPulseIcon,
},
] as const;
export const eventTypes = carePillars;
export const patientChecklist = [
{
title: "Документы",
text: "Паспорт, полис при наличии, договор или направление от страховой.",
icon: FileTextIcon,
},
{
title: "Медицинская история",
text: "Заключения, выписки, результаты исследований и список препаратов.",
icon: ClipboardCheckIcon,
},
{
title: "Время визита",
text: "Заложите 15 минут на оформление и навигацию по клинике.",
icon: ClockIcon,
},
] as const;
export const contactCards = [
{ title: "Адрес", text: "Лесная, 8, Москва, вход со стороны тихого двора", icon: MapPinIcon },
{ title: "Часы", text: "Пн-Сб 08:00-21:00, лабораторное окно с 07:30", icon: ClockIcon },
{ title: "Оплата", text: "В клинике; онлайн-платежей в статическом шаблоне нет", icon: WalletCardsIcon },
] as const;
export const insuranceNotes = [
{
title: "ДМС и гарантийные письма",
text: "На странице оставлено место под страховых партнеров, статусы согласования и документы.",
},
{
title: "Заключения",
text: "Результаты передаются пациенту лично или через защищенный кабинет после будущей интеграции.",
},
{
title: "Privacy by design",
text: "Публичные страницы не показывают персональные результаты, диагнозы или истории пациентов.",
},
] as const;
export const contactChannels = [
{ label: "Координатор", value: "+7 495 120-44-18" },
{ label: "Email", value: "care@northline.example" },
{ label: "Адрес", value: "Лесная, 8, Москва" },
] as const;
export const testimonials = [
{
name: "Пациент",
text: "Было понятно, куда идти, какие документы взять и что будет после приема.",
rating: "5.0",
},
{
name: "Care Review",
text: "Northline продает спокойствие процесса, а не громкие медицинские обещания.",
rating: "4.9",
},
] as const;
export const safetyNotes = [
{
title: "Плановый прием",
text: "Этот сайт подходит для плановой записи. При острых состояниях нужно обращаться в экстренные службы.",
icon: BadgeCheckIcon,
},
{
title: "Без онлайн-диагнозов",
text: "Формы собирают запрос на прием, но не заменяют консультацию врача.",
icon: StethoscopeIcon,
},
{
title: "Только статический UI",
text: "В шаблоне нет отправки данных, медицинской карты, платежей или внешних интеграций.",
icon: ActivityIcon,
},
] as const;
export const bookingReasons = [
"Первичный визит",
"Разбор анализов",
"Кардио-оценка",
"Эндокринология",
"Повторный follow-up",
] as const;
export const routeBadges = [
"анамнез",
"подготовка",
"диагностика",
"заключение",
"follow-up",
"privacy",
] as const;
export const facilityCards = [
{
title: "Лабораторное окно",
text: "Отдельный утренний поток для исследований, которые назначены врачом.",
icon: MicroscopeIcon,
},
{
title: "Навигация по кабинетам",
text: "Координатор заранее объясняет маршрут между приемом и диагностикой.",
icon: CalendarCheckIcon,
},
{
title: "Зона ожидания",
text: "Спокойная среда, короткие инструкции и минимум лишних экранов.",
icon: UserRoundIcon,
},
] as const;