Dharmika - Школа астрологии и ведических наук

import React, { useState, useEffect, useMemo, useRef } from 'react'; import { motion, AnimatePresence, useScroll, useSpring, useTransform } from 'framer-motion'; import { ChevronRight, Printer, Share2, RefreshCcw, CheckCircle2, AlertTriangle, XCircle, Leaf, Droplets, Flame, Wind, Info, Sparkles, Search, Download, ChevronDown } from 'lucide-react'; // --- ДИЗАЙН-ТОКЕНЫ --- const THEME = { green: { 50: '#f0fdf4', 100: '#dcfce7', 500: '#10b981', 900: '#064e3b', }, rose: { 50: '#fff1f2', 100: '#ffe4e6', 400: '#fb7185', 600: '#e11d48', } }; // --- ВОПРОСЫ ТЕСТА (42 вопроса) --- const QUESTIONS = { prakriti: [ { id: 'p1', q: 'Ваше базовое телосложение на протяжении жизни?', a: [{ t: 'Тонкое, кости заметны', d: 'V' }, { t: 'Среднее, развитые мышцы', d: 'P' }, { t: 'Крупное, крепкое', d: 'K' }] }, { id: 'p2', q: 'Ваша кожа по своей природе обычно...', a: [{ t: 'Сухая и прохладная', d: 'V' }, { t: 'Теплая, склонная к родинкам', d: 'P' }, { t: 'Маслянистая и мягкая', d: 'K' }] }, { id: 'p3', q: 'Ваши волосы всегда были...', a: [{ t: 'Сухие, жесткие, вьющиеся', d: 'V' }, { t: 'Тонкие, склонные к ранней седине', d: 'P' }, { t: 'Густые, блестящие, крепкие', d: 'K' }] }, { id: 'p4', q: 'Ваши глаза и взгляд обычно...', a: [{ t: 'Маленькие, подвижные', d: 'V' }, { t: 'Средние, пронзительные', d: 'P' }, { t: 'Большие, спокойные', d: 'K' }] }, { id: 'p5', q: 'Ваши зубы и десны по природе:', a: [{ t: 'Неровные, десны тонкие', d: 'V' }, { t: 'Средние, желтоватые', d: 'P' }, { t: 'Ровные, крупные, белые', d: 'K' }] }, { id: 'p6', q: 'Ваша походка и движения:', a: [{ t: 'Быстрая, порывистая', d: 'V' }, { t: 'Уверенная, решительная', d: 'P' }, { t: 'Плавная, медленная', d: 'K' }] }, { id: 'p7', q: 'Ваш аппетит в здоровом состоянии:', a: [{ t: 'Нерегулярный', d: 'V' }, { t: 'Очень сильный', d: 'P' }, { t: 'Стабильный, но слабый', d: 'K' }] }, { id: 'p8', q: 'Ваш сон в течение жизни был:', a: [{ t: 'Поверхностный, чуткий', d: 'V' }, { t: 'Умеренный, ровный', d: 'P' }, { t: 'Глубокий и долгий', d: 'K' }] }, { id: 'p9', q: 'Как вы принимаете важные решения?', a: [{ t: 'Часто сомневаюсь', d: 'V' }, { t: 'Быстро и логично', d: 'P' }, { t: 'Медленно, основательно', d: 'K' }] }, { id: 'p10', q: 'Ваш голос:', a: [{ t: 'Высокий, слабый', d: 'V' }, { t: 'Четкий, командный', d: 'P' }, { t: 'Глубокий, мягкий', d: 'K' }] }, { id: 'p11', q: 'Ваша память на старые события:', a: [{ t: 'Быстро забываю', d: 'V' }, { t: 'Помню суть', d: 'P' }, { t: 'Помню всё годами', d: 'K' }] }, { id: 'p12', q: 'Реакция на стрессовые ситуации:', a: [{ t: 'Страх и тревога', d: 'V' }, { t: 'Гнев и раздражение', d: 'P' }, { t: 'Спокойствие и упрямство', d: 'K' }] }, { id: 'p13', q: 'Отношение к деньгам и тратам:', a: [{ t: 'Трачу импульсивно', d: 'V' }, { t: 'На качественные вещи', d: 'P' }, { t: 'Склонность копить', d: 'K' }] }, { id: 'p14', q: 'Ваша температура рук и ног:', a: [{ t: 'Часто холодные', d: 'V' }, { t: 'Всегда горячие', d: 'P' }, { t: 'Прохладные, но терпимо', d: 'K' }] }, { id: 'p15', q: 'Ваше потоотделение:', a: [{ t: 'Скудное, без запаха', d: 'V' }, { t: 'Обильное, с запахом', d: 'P' }, { t: 'Умеренное', d: 'K' }] }, { id: 'p16', q: 'Ваши суставы:', a: [{ t: 'Тонкие, часто хрустят', d: 'V' }, { t: 'Гибкие, средние', d: 'P' }, { t: 'Крупные, незаметные', d: 'K' }] }, { id: 'p17', q: 'Ваша базовая активность:', a: [{ t: 'Постоянно в движении', d: 'V' }, { t: 'Целеустремленность', d: 'P' }, { t: 'Люблю покой', d: 'K' }] }, { id: 'p18', q: 'Какие вкусы вы всегда предпочитали?', a: [{ t: 'Сладкое, кислое, соленое', d: 'V' }, { t: 'Сладкое, горькое, вяжущее', d: 'P' }, { t: 'Острое, горькое, вяжущее', d: 'K' }] }, { id: 'p19', q: 'Ваша манера речи:', a: [{ t: 'Быстрая, эмоциональная', d: 'V' }, { t: 'Точная, убедительная', d: 'P' }, { t: 'Медленная, вежливая', d: 'K' }] }, { id: 'p20', q: 'Ваша физическая выносливость:', a: [{ t: 'Низкая, быстро устаю', d: 'V' }, { t: 'Средняя, высокая воля', d: 'P' }, { t: 'Очень высокая', d: 'K' }] }, ], vikriti: [ { id: 'v1', q: 'Ваше пищеварение последние 2 недели?', a: [{ t: 'Вздутие и запоры', d: 'V' }, { t: 'Изжога и жар', d: 'P' }, { t: 'Тяжесть после еды', d: 'K' }] }, { id: 'v2', q: 'Эмоциональное состояние сейчас?', a: [{ t: 'Тревога и суета', d: 'V' }, { t: 'Гнев и критика', d: 'P' }, { t: 'Лень и апатия', d: 'K' }] }, { id: 'v3', q: 'Ваша энергия в течение дня?', a: [{ t: 'Резкие скачки и спады', d: 'V' }, { t: 'Высокая, но на грани', d: 'P' }, { t: 'Сложно «раскачаться»', d: 'K' }] }, { id: 'v4', q: 'Состояние кожи в данный момент?', a: [{ t: 'Очень сухая', d: 'V' }, { t: 'Воспаления, сыпь', d: 'P' }, { t: 'Отечность, жирность', d: 'K' }] }, { id: 'v5', q: 'Ваша жажда сейчас?', a: [{ t: 'Постоянно пью по чуть-чуть', d: 'V' }, { t: 'Сильная, хочу ледяного', d: 'P' }, { t: 'Почти не хочу пить', d: 'K' }] }, { id: 'v6', q: 'Качество сна в последнее время?', a: [{ t: 'Бессонница, мысли', d: 'V' }, { t: 'Яркие, тревожные сны', d: 'P' }, { t: 'Сплю долго, не высыпаюсь', d: 'K' }] }, { id: 'v7', q: 'Чувствительность к среде?', a: [{ t: 'К шуму и ветру', d: 'V' }, { t: 'К яркому свету и жаре', d: 'P' }, { t: 'К холоду и сырости', d: 'K' }] }, { id: 'v8', q: 'Болевые ощущения (если есть):', a: [{ t: 'Пульсирующие, блуждающие', d: 'V' }, { t: 'Острые, жгучие', d: 'P' }, { t: 'Тупые, ноющие', d: 'K' }] }, { id: 'v9', q: 'Слизистые оболочки (нос/горло):', a: [{ t: 'Сухость, першение', d: 'V' }, { t: 'Воспаление, краснота', d: 'P' }, { t: 'Слизь, заложенность', d: 'K' }] }, { id: 'v10', q: 'Ваше внимание сейчас?', a: [{ t: 'Рассеянное', d: 'V' }, { t: 'Слишком напряженное', d: 'P' }, { t: 'Заторможенное', d: 'K' }] }, { id: 'v11', q: 'Цвет лица последние дни:', a: [{ t: 'Серый или тусклый', d: 'V' }, { t: 'Желтоватый или красный', d: 'P' }, { t: 'Бледный, белый', d: 'K' }] }, { id: 'v12', q: 'Ощущение веса тела:', a: [{ t: 'Легкость или истощение', d: 'V' }, { t: 'Норма, но жар внутри', d: 'P' }, { t: 'Тяжесть, отеки', d: 'K' }] }, { id: 'v13', q: 'Вкус во рту без еды:', a: [{ t: 'Вяжущий', d: 'V' }, { t: 'Горький или кислый', d: 'P' }, { t: 'Сладковатый или соленый', d: 'K' }] }, { id: 'v14', q: 'Желание двигаться:', a: [{ t: 'Хаотичное', d: 'V' }, { t: 'Целенаправленное', d: 'P' }, { t: 'Отсутствует', d: 'K' }] }, { id: 'v15', q: 'Общее ощущение здоровья:', a: [{ t: 'Хрупкость', d: 'V' }, { t: 'Перегрев', d: 'P' }, { t: 'Застой', d: 'K' }] }, ], agni: [ { id: 'a1', q: 'Есть ли белый налет на языке утром?', a: [{ t: 'Нет, язык чистый', d: 'Good' }, { t: 'Тонкий налет', d: 'Mild' }, { t: 'Плотный, липкий налет', d: 'Ama' }] }, { id: 'a2', q: 'Запах изо рта по утрам?', a: [{ t: 'Отсутствует', d: 'Good' }, { t: 'Кислый/резкий', d: 'Ama' }, { t: 'Гнилостный', d: 'Ama' }] }, { id: 'a3', q: 'Чувство голода утром (через час)?', a: [{ t: 'Сильный голод', d: 'Good' }, { t: 'Нет голода, тяжесть', d: 'Ama' }, { t: 'Переменный', d: 'Mild' }] }, { id: 'a4', q: 'Тонет ли стул в воде?', a: [{ t: 'Нет, плавает', d: 'Good' }, { t: 'Да, тонет сразу', d: 'Ama' }, { t: 'Стул липкий', d: 'Ama' }] }, { id: 'a5', q: 'Ощущение сразу после еды?', a: [{ t: 'Энергия и легкость', d: 'Good' }, { t: 'Сонливость и тяжесть', d: 'Ama' }, { t: 'Отрыжка или газы', d: 'Ama' }] }, { id: 'a6', q: 'Сила вашего пищеварения?', a: [{ t: 'Перевариваю всё легко', d: 'Good' }, { t: 'Пища «стоит» часами', d: 'Ama' }, { t: 'Часто несварение', d: 'Mild' }] }, { id: 'a7', q: 'Общее самочувствие?', a: [{ t: 'Ясность и бодрость', d: 'Good' }, { t: 'Туман в голове', d: 'Ama' }, { t: 'Медлительность', d: 'Ama' }] }, ] }; // --- БАЗА ПРОДУКТОВ (300+ позиций по 18 категориям) --- const PRODUCT_CATEGORIES = [ { id: 1, name: 'Фрукты', items: [ { n: 'Манго спелое', i: '🥭', v: 'SR', p: 'R', k: 'NR' }, { n: 'Яблоко Гренни Смит', i: '🍏', v: 'NR', p: 'SR', k: 'R' }, { n: 'Банан', i: '🍌', v: 'SR', p: 'NR', k: 'E' }, { n: 'Виноград сладкий', i: '🍇', v: 'SR', p: 'R', k: 'NR' }, { n: 'Гранат', i: '🍎', v: 'R', p: 'SR', k: 'SR' }, { n: 'Ананас', i: '🍍', v: 'R', p: 'NR', k: 'R' }, { n: 'Груша Пакхам', i: '🍐', v: 'NR', p: 'SR', k: 'SR' }, { n: 'Арбуз', i: '🍉', v: 'NR', p: 'SR', k: 'NR' }, { n: 'Дыня Торпеда', i: '🍈', v: 'SR', p: 'R', k: 'NR' }, { n: 'Апельсин', i: '🍊', v: 'SR', p: 'NR', k: 'NR' }, { n: 'Персик', i: '🍑', v: 'SR', p: 'R', k: 'NR' }, { n: 'Инжир сушеный', i: '🏺', v: 'R', p: 'R', k: 'NR' } ]}, { id: 2, name: 'Овощи', items: [ { n: 'Огурец', i: '🥒', v: 'NR', p: 'SR', k: 'R' }, { n: 'Морковь (вареная)', i: '🥕', v: 'SR', p: 'R', k: 'R' }, { n: 'Брокколи', i: '🥦', v: 'E', p: 'SR', k: 'SR' }, { n: 'Картофель', i: '🥔', v: 'NR', p: 'NR', k: 'R' }, { n: 'Свекла', i: '🥣', v: 'SR', p: 'NR', k: 'NR' }, { n: 'Кабачок', i: '🥗', v: 'SR', p: 'SR', k: 'R' }, { n: 'Спаржа', i: '🎋', v: 'R', p: 'SR', k: 'SR' }, { n: 'Тыква', i: '🎃', v: 'SR', p: 'SR', k: 'R' }, { n: 'Томат', i: '🍅', v: 'NR', p: 'E', k: 'NR' }, { n: 'Баклажан', i: '🍆', v: 'NR', p: 'NR', k: 'NR' }, { n: 'Перец сладкий', i: '🫑', v: 'NR', p: 'NR', k: 'R' }, { n: 'Капуста белокочанная', i: '🥬', v: 'E', p: 'NR', k: 'SR' } ]}, { id: 3, name: 'Зерновые и бобовые', items: [ { n: 'Рис Басмати', i: '🌾', v: 'SR', p: 'SR', k: 'R' }, { n: 'Киноа', i: '🍲', v: 'R', p: 'R', k: 'SR' }, { n: 'Пшено', i: '🥣', v: 'NR', p: 'R', k: 'SR' }, { n: 'Ячмень', i: '🌾', v: 'NR', p: 'SR', k: 'SR' }, { n: 'Овес', i: '🥣', v: 'SR', p: 'R', k: 'NR' }, { n: 'Амарант', i: '🌱', v: 'R', p: 'R', k: 'SR' } ]}, { id: 4, name: 'Ягоды', items: [ { n: 'Малина', i: '🍓', v: 'SR', p: 'R', k: 'R' }, { n: 'Черника', i: '🫐', v: 'R', p: 'SR', k: 'SR' }, { n: 'Клубника', i: '🍓', v: 'R', p: 'NR', k: 'NR' }, { n: 'Клюква', i: '🔴', v: 'NR', p: 'NR', k: 'SR' }, { n: 'Ежевика', i: '🫐', v: 'R', p: 'SR', k: 'SR' } ]}, { id: 5, name: 'Напитки', items: [ { n: 'Кокосовая вода', i: '🥥', v: 'R', p: 'SR', k: 'NR' }, { n: 'Травяной чай (Мята)', i: '🍵', v: 'NR', p: 'SR', k: 'R' }, { n: 'Имбирный чай', i: '🫖', v: 'SR', p: 'NR', k: 'SR' }, { n: 'Кофе', i: '☕', v: 'E', p: 'E', k: 'R' }, { n: 'Теплая вода с лимоном', i: '🍋', v: 'SR', p: 'NR', k: 'SR' } ]}, { id: 6, name: 'Мясо', items: [ { n: 'Куриная грудка', i: '🍗', v: 'SR', p: 'R', k: 'NR' }, { n: 'Индейка', i: '🦃', v: 'SR', p: 'R', k: 'NR' }, { n: 'Свинина', i: '🥓', v: 'NR', p: 'NR', k: 'E' }, { n: 'Говядина', i: '🥩', v: 'R', p: 'NR', k: 'E' }, { n: 'Кролик', i: '🐇', v: 'SR', p: 'SR', k: 'R' } ]}, { id: 7, name: 'Рыба и морепродукты', items: [ { n: 'Лосось', i: '🍣', v: 'SR', p: 'NR', k: 'E' }, { n: 'Белая рыба', i: '🐟', v: 'R', p: 'SR', k: 'R' }, { n: 'Креветки', i: '🦐', v: 'R', p: 'NR', k: 'NR' }, { n: 'Устрицы', i: '🦪', v: 'R', p: 'NR', k: 'NR' } ]}, { id: 8, name: 'Орехи и семена', items: [ { n: 'Миндаль (замоченный)', i: '🥜', v: 'SR', p: 'R', k: 'NR' }, { n: 'Грецкий орех', i: '🌰', v: 'SR', p: 'NR', k: 'NR' }, { n: 'Семена подсолнечника', i: '🌻', v: 'R', p: 'SR', k: 'R' }, { n: 'Тыквенные семечки', i: '🎃', v: 'R', p: 'R', k: 'SR' }, { n: 'Кешью', i: '🥜', v: 'SR', p: 'NR', k: 'NR' } ]}, { id: 9, name: 'Бобовые', items: [ { n: 'Маш (Мунг дал)', i: '🥣', v: 'SR', p: 'SR', k: 'SR' }, { n: 'Красная чечевица', i: '🍲', v: 'NR', p: 'SR', k: 'SR' }, { n: 'Нут', i: '🧆', v: 'E', p: 'R', k: 'R' }, { n: 'Фасоль черная', i: '🫘', v: 'E', p: 'NR', k: 'R' } ]}, { id: 10, name: 'Сладкое', items: [ { n: 'Мед (старый)', i: '🍯', v: 'R', p: 'NR', k: 'SR' }, { n: 'Тростниковый сахар', i: '🍬', v: 'SR', p: 'SR', k: 'E' }, { n: 'Кленовый сироп', i: '🍁', v: 'SR', p: 'SR', k: 'NR' }, { n: 'Черный шоколад', i: '🍫', v: 'NR', p: 'NR', k: 'R' } ]}, { id: 11, name: 'Молочные продукты', items: [ { n: 'Топленое масло Гхи', i: '🍯', v: 'SR', p: 'SR', k: 'NR' }, { n: 'Свежее молоко (теплое)', i: '🥛', v: 'SR', p: 'SR', k: 'E' }, { n: 'Йогурт', i: '🥣', v: 'NR', p: 'E', k: 'E' }, { n: 'Творог', i: '🍚', v: 'NR', p: 'NR', k: 'E' }, { n: 'Сыр выдержанный', i: '🧀', v: 'R', p: 'E', k: 'E' } ]}, { id: 12, name: 'Хлеб и выпечка', items: [ { n: 'Цельнозерновой хлеб', i: '🍞', v: 'NR', p: 'R', k: 'SR' }, { n: 'Чапати/Лаваш', i: '🫓', v: 'SR', p: 'SR', k: 'R' }, { n: 'Дрожжевая выпечка', i: '🥐', v: 'E', p: 'NR', k: 'E' } ]}, { id: 13, name: 'Крупы и макароны', items: [ { n: 'Кус-кус', i: '🥣', v: 'NR', p: 'R', k: 'R' }, { n: 'Булгур', i: '🌾', v: 'NR', p: 'R', k: 'SR' }, { n: 'Макароны твердых сортов', i: '🍝', v: 'R', p: 'R', k: 'NR' } ]}, { id: 14, name: 'Масла и жиры', items: [ { n: 'Кунжутное масло', i: '🧴', v: 'SR', p: 'NR', k: 'NR' }, { n: 'Кокосовое масло', i: '🥥', v: 'R', p: 'SR', k: 'NR' }, { n: 'Оливковое масло', i: '🫒', v: 'R', p: 'R', k: 'NR' }, { n: 'Льняное масло', i: '🌱', v: 'R', p: 'R', k: 'R' } ]}, { id: 15, name: 'Соусы и приправы', items: [ { n: 'Куркума', i: '🟡', v: 'R', p: 'R', k: 'SR' }, { n: 'Черный перец', i: '⚫', v: 'R', p: 'NR', k: 'SR' }, { n: 'Кардамон', i: '🟢', v: 'SR', p: 'SR', k: 'R' }, { n: 'Чеснок (свежий)', i: '🧄', v: 'SR', p: 'E', k: 'NR' }, { n: 'Горчица', i: '🟡', v: 'R', p: 'E', k: 'SR' } ]}, { id: 16, name: 'Полуфабрикаты', items: [ { n: 'Замороженные овощи', i: '❄️', v: 'NR', p: 'R', k: 'R' }, { n: 'Веганские котлеты', i: '🍔', v: 'R', p: 'R', k: 'R' }, { n: 'Пельмени (домашние)', i: '🥟', v: 'R', p: 'NR', k: 'NR' } ]}, { id: 17, name: 'Грибы', items: [ { n: 'Шампиньоны', i: '🍄', v: 'NR', p: 'R', k: 'SR' }, { n: 'Шиитаке', i: '🍄', v: 'R', p: 'R', k: 'SR' }, { n: 'Вешенки', i: '🍄', v: 'NR', p: 'R', k: 'SR' } ]}, { id: 18, name: 'Закуски (Снеки)', items: [ { n: 'Попкорн', i: '🍿', v: 'E', p: 'R', k: 'SR' }, { n: 'Сухофрукты', i: '🥨', v: 'NR', p: 'R', k: 'NR' }, { n: 'Чипсы нутовые', i: '🍟', v: 'R', p: 'R', k: 'SR' } ]} ]; // --- КОМПОНЕНТЫ ДИЗАЙНА --- const BeamButton = ({ children, onClick, className = "" }) => ( ); const GlassCard = ({ children, className = "" }) => { const cardRef = useRef(null); const [mousePos, setMousePos] = useState({ x: 0, y: 0 }); return (
{ const rect = cardRef.current.getBoundingClientRect(); setMousePos({ x: e.clientX - rect.left, y: e.clientY - rect.top }); }} className={`relative p-8 rounded-[40px] bg-white/40 backdrop-blur-3xl border border-white/40 shadow-2xl overflow-hidden group transition-all duration-700 ${className}`} style={{ '--x': `${mousePos.x}px`, '--y': `${mousePos.y}px` }} >
{children}
); }; const VerticalLines = () => (
{[...Array(8)].map((_, i) => (
))}
); // --- ОСНОВНОЕ ПРИЛОЖЕНИЕ --- export default function App() { const [screen, setScreen] = useState('home'); // home, test, result const [currentIdx, setCurrentIdx] = useState(0); const [answers, setAnswers] = useState({}); const [mouse, setMouse] = useState({ x: 0, y: 0 }); const totalQ = QUESTIONS.prakriti.length + QUESTIONS.vikriti.length + QUESTIONS.agni.length; useEffect(() => { const handleMove = (e) => setMouse({ x: e.clientX, y: e.clientY }); window.addEventListener('mousemove', handleMove); return () => window.removeEventListener('mousemove', handleMove); }, []); const handleAnswer = (val) => { const section = currentIdx < 20 ? 'p' : currentIdx < 35 ? 'v' : 'a'; const qKey = section + (currentIdx - (section === 'v' ? 20 : section === 'a' ? 35 : 0)); setAnswers(prev => ({ ...prev, [qKey]: val })); if (currentIdx < totalQ - 1) { setCurrentIdx(prev => prev + 1); } else { setScreen('result'); } }; const scores = useMemo(() => { const p = { V: 0, P: 0, K: 0 }; const v = { V: 0, P: 0, K: 0 }; const a = { Good: 0, Mild: 0, Ama: 0 }; Object.entries(answers).forEach(([key, val]) => { if (key.startsWith('p')) p[val]++; else if (key.startsWith('v')) v[val]++; else if (key.startsWith('a')) a[val]++; }); const getTop = (obj) => Object.keys(obj).reduce((a, b) => obj[a] > obj[b] ? a : b); return { p: getTop(p), v: getTop(v), ama: a.Ama > 2 }; }, [answers]); const getDoshaInfo = (code, type) => { const dict = { V: { name: 'Вата (Воздух)', icon: , pDesc: 'Легкость, ясность, изменчивость. Вы — человек движения, творчества и быстрых идей. Ваша натура напоминает свежий ветер: вы быстро схватываете новое, но быстро устаете. Ваша сила в адаптивности, но слабость в отсутствии корней.', vDesc: 'Ваш дисбаланс сейчас проявляется как хаос, тревога и сухость. Ветер в вашей системе слишком силен, он иссушает ткани и беспокоит ум. Вам не хватает стабильности и тепла.' }, P: { name: 'Питта (Огонь)', icon: , pDesc: 'Трансформация, интеллект, огонь. Вы рождены быть лидером и стратегом. Острый ум, жажда знаний и отличный метаболизм. Ваша природа — светящийся костер, который согревает всё вокруг своим интеллектом.', vDesc: 'Сейчас ваш огонь вышел из берегов. Это проявляется в гневе, раздражительности или воспалениях. Вы «сгораете» изнутри, требуя охлаждения и спокойствия.' }, K: { name: 'Капха (Земля)', icon: , pDesc: 'Стабильность, мощь, спокойствие. Вы — скала, дающая опору окружающим. Крепкое тело, любящее сердце и долгая память. Ваша природа — плодородная почва, способная взрастить любые плоды при должном уходе.', vDesc: 'Ваша стабильность превратилась в застой. Сейчас вы чувствуете тяжесть, лень или избыточную привязанность. Ваша система накопила слишком много влаги и холода.' } }; return dict[code]; }; return (
{/* Эффект Фонарика */}
{/* --- ЭКРАН 1: ГЛАВНАЯ --- */} {screen === 'home' && (
Dharmika Ayurveda Lab

Расшифруйте
свой генезис

Интегральная система диагностики на основе Чарака-Самхиты. Мы определим вашу врожденную матрицу (Пракрити) и текущие отклонения (Викрити) для построения безупречной диеты.

setScreen('test')}> Начать исследование
)} {/* --- ЭКРАН 2: ТЕСТ --- */} {screen === 'test' && (

Этап {currentIdx + 1} / {totalQ}

{currentIdx < 20 ? 'Пракрити (Врожденное)' : currentIdx < 35 ? 'Викрити (Текущее)' : 'Агни (Пищеварение)'}

{(currentIdx < 20 ? QUESTIONS.prakriti[currentIdx] : currentIdx < 35 ? QUESTIONS.vikriti[currentIdx - 20] : QUESTIONS.agni[currentIdx - 35] ).q}

{(currentIdx < 20 ? QUESTIONS.prakriti[currentIdx] : currentIdx < 35 ? QUESTIONS.vikriti[currentIdx - 20] : QUESTIONS.agni[currentIdx - 35] ).a.map((opt, idx) => ( ))}
)} {/* --- ЭКРАН 3: РЕЗУЛЬТАТЫ --- */} {screen === 'result' && (
Результаты получены

Ваш Аюрведический Код

Мы проанализировали ваши ответы и составили подробную карту конституции и персональный план восстановления.

{/* БЛОК 1: ПРАКРИТИ И ВИКРИТИ */}
{/* ПРАКРИТИ КАРТОЧКА */}
{getDoshaInfo(scores.p).icon}

Ваша Пракрити

{getDoshaInfo(scores.p).name}

Врожденная конституция, ваш неизменный фундамент.

{getDoshaInfo(scores.p).pDesc}

{/* ВИКРИТИ КАРТОЧКА */}
{getDoshaInfo(scores.v).icon}

Ваша Викрити

{getDoshaInfo(scores.v).name}

Текущее состояние и вектор дисбаланса.

{getDoshaInfo(scores.v).vDesc}

{/* АГНИ СТАТУС */} {scores.ama && (

Обнаружена Ама (Токсины)

Ваш пищеварительный огонь (Агни) сейчас ослаблен. Любые рекомендации по питанию должны сопровождаться приемом теплой воды и исключением тяжелой пищи на ближайшие 7 дней.

)} {/* БЛОК 2: ТАБЛИЦА ПРОДУКТОВ */}

Персональный Диет-План

Идеально Можно Ограничить Яд
{PRODUCT_CATEGORIES.map(cat => ( {cat.items.map((prod, idx) => { // Логика подбора: лечим Викрити (scores.v) const status = prod[scores.v.toLowerCase()] || 'R'; return ( ); })} ))}
Категория / Продукт Строго рекомендуется Рекомендовано Не рекомендуется Исключить
{cat.id}. {cat.name}
{prod.i} {prod.n}
{status === 'SR' && } {status === 'R' && } {status === 'NR' && } {status === 'E' && }
{/* БЛОК 3: КНОПКИ ДЕЙСТВИЯ */}
)} {/* FOOTER */}

Dharmika Ayurveda Lab • 2026

Цифровая интерпретация ведических знаний. Помните: питание — ваше первое лекарство.

); }

Dharmika - Школа астрологии и ведических наук

ИП Чапыгин Григорий Сергеевич

ИНН 526019570227  |  ОГРНИП 314526017600049

Банк "Альфа-Банк"  |  БИК 042202824

Оставьте предварительную заявку на участие в курсе

Когда курс начнется мы Вам оповестим