/* global React */ const { useState: __useStateOb, useEffect: __useEffectOb } = React; // ──────────────────────────────────────────────────────────── // ONBOARDING — приветственный 4-шаговый экран при первом открытии // Адаптация OnboardingA из прототипа («Поэтичный · обсерватория»): // концентрические круги-сейсмограмма, крупная типографика, точка-эпицентр. // // Показывается ровно один раз — потом ставит flag eq.onboarding-seen. // ──────────────────────────────────────────────────────────── const ONBOARDING_STEPS = [ { eyebrow: "ПРИВЕТСТВУЕМ", title: ["Земля движется.", "Вы будете знать первым."], body: "Сейсмомониторинг отслеживает землетрясения по всему миру в реальном " + "времени. Без задержек. Без шума. Только то, что важно для вас.", }, { eyebrow: "ИСТОЧНИКИ", title: ["USGS + EMSC.", "Два независимых сейсмоцентра."], body: "Бот опрашивает оба источника каждые 10 минут с фильтром " + "updatedafter — ловим даже опаздывающие публикации крупных событий. " + "Дубликаты от двух источников отмечаются как «подтверждённые».", }, { eyebrow: "ПОРОГИ", title: ["M ≥ 5 для Россия / СНГ", "M ≥ 7 для всего мира"], body: "Алерты приходят только при превышении порога — не каждый толчок, а " + "только заметные. Пороги меняются прямо в Mini App: «Ещё → Настройки».", }, { eyebrow: "ГОТОВО", title: ["Поехали."], body: "Дайджест в 08:00 и 20:00 МСК · мгновенные алерты · live-карта · " + "статистика. Всё это здесь, в боте и в Mini App.", }, ]; window.OnboardingScreen = ({ T, dark, onFinish }) => { const [step, setStep] = __useStateOb(0); const total = ONBOARDING_STEPS.length; const cur = ONBOARDING_STEPS[step]; const isLast = step === total - 1; const next = () => (isLast ? onFinish() : setStep(step + 1)); const prev = () => setStep(Math.max(0, step - 1)); return (