Files
shop-server/.opencode/specs/2026-05-23-legal-docs-fix-design.md
T
2026-05-23 18:47:35 +05:00

3.7 KiB

Юридические документы: приведение к реальности + удаление аккаунта + cookie-баннер

Данные оператора

  • Имя: Комарова Лариса Николаевна (самозанятый)
  • ИНН: 402900832341 (тестовый)
  • Адрес: 34, ул. Мира, кв. 34, Лысьва, Пермский край, 618909
  • Сайт: https://любимыйкреатив.рф
  • ОГРН: отсутствует (самозанятый)

Задачи

1. Shared config — обновить данные оператора

Файл: client/src/shared/config/index.ts

2. Политика конфиденциальности

Файл: client/src/pages/privacy-policy/ui/PrivacyPolicyPage.tsx

  • Импорт из config, убрать локальные константы
  • Оператор: самозанятый вместо ИП, без ОГРН
  • Раздел 2: только email, имя, телефон (при доставке), адрес, сессионные cookie (без ФИО, аналитики)
  • Раздел 3: без персонализации
  • Раздел 5: только автообработка, срок до достижения целей
  • Раздел 6: Яндекс.Метрика → ЮKassa
  • Раздел 7: добавить право на самоудаление (п. 7.3)
  • Добавить дату обновления
  • Перенести cookie-раздел из Соглашения в Политику

3. Пользовательское соглашение

Файл: client/src/pages/terms/ui/TermsPage.tsx

  • Импорт из config, убрать локальные константы
  • Оператор: самозанятый, без ОГРН
  • Раздел 1: упомянуть OAuth и вход по коду
  • П. 3.7: «рекламные» → «транзакционные»
  • П. 6.1: убрать противоречие с «as is»
  • Раздел 7: реальные третьи лица (ЮKassa, OSM)
  • Раздел 8: cookie только для сессии, не для аналитики
  • П. 9.3-9.4: без IP/браузера/персонализации, только реальные данные

Новый компонент: client/src/shared/ui/CookieConsentBanner.tsx

  • Снизу, фиксированный, localStorage
  • Текст о cookie и ссылка на Политику
  • Кнопка «Понятно»
  • Рендер в MainLayout перед футером

5. Текст согласия на формах входа/регистрации

  • AuthPasswordForm, AuthCodeForm
  • Под кнопкой отправки: «Нажимая «Продолжить», вы принимаете пользовательское соглашение и политику конфиденциальности»
  • Ссылки на /terms и /privacy

6. Удаление аккаунта

Сервер: DELETE /api/me в server/src/routes/auth.js

  • Проверка активных заказов (не DONE, не CANCELLED)
  • Если нет активных — каскадное удаление
  • Если есть — 400 с перечнем заказов

Клиент: секция в SettingsPage

  • Кнопка «Удалить аккаунт» (outlined, error)
  • Tooltip при активных заказах
  • Диалог подтверждения
  • После удаления — редирект на /