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

65 lines
3.7 KiB
Markdown

# Юридические документы: приведение к реальности + удаление аккаунта + cookie-баннер
## Данные оператора
- **Имя:** Комарова Лариса Николаевна (самозанятый)
- **ИНН:** 402900832341 (тестовый)
- **Адрес:** 34, ул. Мира, кв. 34, Лысьва, Пермский край, 618909
- **Сайт:** https://любимыйкреатив.рф
- **ОГРН:** отсутствует (самозанятый)
## Задачи
### 1. Shared config — обновить данные оператора
Файл: `client/src/shared/config/index.ts`
- `STORE_OP_NAME`, `STORE_OP_TYPE`, `STORE_OP_INN` (тестовый), `STORE_OP_ADDR`
- Убрать `STORE_OP_OGRN`
- `STORE_PUBLIC_SITE_URL`: https://любимыйкреатив.рф
### 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/браузера/персонализации, только реальные данные
### 4. Cookie-баннер
Новый компонент: `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 при активных заказах
- Диалог подтверждения
- После удаления — редирект на /