Этап 1b: сайт

- Страницы обоих брендов из блоков Payload (D-029): главная, цены,
  локации, поддержка, 4 юридические, 404 и 500. Коллекции pages
  (черновики и версии) и faq с местами показа, 12 типов блоков; поля
  sites — почта и Telegram поддержки, часы работы, SEO по умолчанию.
- Карта и глобус рисуются на сервере (d3-geo), контуры во внешнем
  SVG через <use>; выбор локации синхронизирован между картой и сеткой.
- Тексты сайта и юридические черновики на 5 языках: de, fr, es —
  перевод с глоссарием; seed создаёт страницы и FAQ, только если их
  нет, SEED_CONTENT=reset пересоздаёт.
- SEO: title и описания, canonical, hreflang с x-default,
  sitemap.xml и robots.txt на каждый домен, картинки для соцсетей.
- Статическая сборка и пересборка через revalidatePath из хуков
  Payload (D-030); /svc/internal/revalidate для проверки.
- 404 — статичная страница со статусом 404 через proxy; на сайте
  только опубликованные страницы.
- Производительность: Client Hints темы Payload только в админке,
  предзагрузка 2 файлов шрифтов вместо 6; Lighthouse mobile 97–99.
- Контраст --ink-3 по WCAG AA, радиокнопки вместо div role=button.
- Документация: итоги 1b, глоссарий de/fr/es, трактовки юридических
  черновиков подтверждены, переносимые вопросы — в этапах 3e–3h.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
andreypr207andClaude Opus 5.5 committed 2026-10-22 04:53:15 +02:00
1 parent 515acfb69d
commit 20491d1ba4
134 files changed
+11232 -212

No files matched your search

+10 -1
View File
@@ -23,12 +23,15 @@
"db:reset": "set -a && . ./.env && set +a && psql \"$DATABASE_URL\" -v ON_ERROR_STOP=1 -q -f scripts/reset-dev-db.sql"
},
"dependencies": {
"@fontsource/commissioner": "5.3.0",
"@fontsource/unbounded": "5.3.0",
"@payloadcms/db-postgres": "3.91.0",
"@payloadcms/next": "3.91.0",
"@payloadcms/plugin-multi-tenant": "3.91.0",
"@payloadcms/richtext-lexical": "3.91.0",
"@payloadcms/translations": "3.91.0",
"@payloadcms/ui": "3.91.0",
"d3-geo": "3.1.1",
"graphql": "16.14.2",
"isbot": "5.2.2",
"next": "16.4.2",
@@ -36,13 +39,19 @@
"payload": "3.91.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"sharp": "0.35.5"
"sharp": "0.35.5",
"topojson-client": "3.1.0",
"world-atlas": "2.0.2"
},
"devDependencies": {
"@tailwindcss/postcss": "4.3.3",
"@types/d3-geo": "3.1.1",
"@types/geojson": "7946.0.16",
"@types/node": "24.19.2",
"@types/react": "19.3.0",
"@types/react-dom": "19.3.0",
"@types/topojson-client": "3.1.5",
"@types/topojson-specification": "1.0.5",
"eslint": "9.39.5",
"eslint-config-next": "16.4.2",
"eslint-config-prettier": "10.1.8",