Skip to content

Latest commit

 

History

History
91 lines (78 loc) · 7.54 KB

File metadata and controls

91 lines (78 loc) · 7.54 KB

Бэклог — что осталось сделать

Единственный источник правды по незакрытым задачам проекта. Держать в синхроне: сделали пункт — снимаем галочку и убираем из списка.

1. Форма заявки

Фронтенд готов. Блок #request (src/components/LeadForm.astro) — контакты слева, форма справа, поверх горной панорамы. Поля, валидация, состояния отправки, honeypot, чекбокс согласия и привязка реферального хвоста работают (подробности — LEAD-FORM.md). Осталось увезти заявку с сайта.

  • Решить, куда уходят заявки. Сайт статический на GitHub Pages, бэкенда нет — нужен внешний обработчик: Formspree / Getform / Google Forms либо serverless-функция с отправкой в Telegram. Точка подключения ровно одна — функция sendLead() в src/scripts/lead-form.ts, сейчас заглушка с console.log. Сигнатуру менять не нужно: форма уже умеет ждать промис и разводить успех и ошибку сети.
  • Ссылка на политику конфиденциальности в чекбоксе согласия — сейчас href="#" с пометкой TODO(legal) (см. п. 3).
  • Капча провайдера, если honeypot окажется недостаточным.
  • Перенацелить CTA на #request: кнопка «Подробнее» в hero ведёт на #about-training, в offer-блоке CTA нет вовсе.

2. Футер

  • Компонент src/components/Footer.astro, последним в index.astro — после <LeadForm />.
  • Контакты Дениса, ссылки на соцсети, копирайт с годом. Телефон, почта и Telegram — брать из src/data/contacts.ts (единственный источник, его же используют Header.astro, LeadForm.astro и JSON-LD в BaseLayout.astro).
  • Блок юридических ссылок (п. 3) и реквизиты (ИП/самозанятый, ИНН) — уточнить у заказчика, что именно публикуем.
  • Навигация-якоря по секциям страницы — если делаем, брать список пунктов из NAV_ITEMS в Header.astro, чтобы не разъехались.

3. Юридические документы

Без них нельзя собирать персональные данные через форму (152-ФЗ).

  • Политика конфиденциальности.
  • Согласие на обработку персональных данных (текст под чекбоксом формы).
  • Публичная оферта / условия оказания услуг — уточнить у заказчика, нужна ли (зависит от того, продаём ли мы с сайта).
  • Формат размещения: отдельные страницы src/pages/privacy.astro и т. д. (не PDF — так документы индексируются и открываются с телефона).
  • Ссылки в футере и рядом с чекбоксом формы.

4. Хвосты

  • Скан сертификата Euclides Coimbra: сейчас в index.astro заглушка, импорт закомментирован (строки 22–26) — файл в src/assets/images/, раскомментировать и передать в <Certificate> и <ModalCertificate>.
  • Настоящий OG-баннер 1200×630 вместо копии denis-bulgin.png в public/og-image.png.
  • Перед публичным анонсом — снять noindex и открыть robots.txt. Полный чек-лист — ниже в этом файле.
  • Рассинхрон referral-меток: regex MARKS в инлайн-скрипте BaseLayout.astro не содержит ref/from, а PARAM_LABELS в src/scripts/referral.ts их знает — вход только с ?ref=… не обновляет сохранённый хвост. Решить, считать ли такие входы «рекламными», и синхронизировать состав (изменение поведения, поэтому не делалось в рамках рефакторинга).
  • Визуальные микрофиксы, отложенные из рефакторинга: mt-10mt-group в ModalAbout.astro (финальный блок) и свой space-y-[clamp(…)] в AboutTraining.astro:31 вне ролей шкалы — оба меняют фактические отступы, править отдельным осознанным коммитом.
  • Формат телефона: JSON-LD в BaseLayout.astro использует PHONE_SCHEMA (+7 495…), видимый текст — PHONE_DISPLAY (8 495…). Оба значения именованы в src/data/contacts.ts — решить, нужна ли унификация видимого формата под международный (изменение контента).
  • px-медиа → rem: пороги 1280px («крест» диаграммы ПРП, global.css + строка gsap.matchMedia в prp-diagram-scroll.ts — менять строго синхронно, см. комментарии в обоих файлах) и 768px (ширина слайда видеоотзывов). Остальные media в файле — rem; конвертация меняет поведение при нестандартном базовом кегле браузера, поэтому из рефакторинга исключена.
  • Ограничить сканирование Tailwind каталогом src/ (директива @source в global.css): сейчас сканер v4 обходит и docs/*.md, и упоминание утилиты в документации добавляет её в прод-CSS (см. анти-паттерны в BUILD.md). Правка конфига — проверить бандл до/после.

Чек-лист перед публичным анонсом

  1. Снять noindex из <meta name="robots">, googlebot, yandex в src/layouts/BaseLayout.astro.
  2. В public/robots.txt заменить Disallow: / на Allow: / (или удалить файл).
  3. Сверить, что canonical (new URL(base, Astro.site) в BaseLayout.astro) даёт актуальный URL.
  4. По возможности — сгенерировать настоящий 1200×630 OG-баннер, заменить public/og-image.png (сейчас это копия denis-bulgin.png).
  5. Опубликовать sitemap.xml (опционально — JSON-LD Course уже даёт схему). Astro умеет через интеграцию @astrojs/sitemap.