feat(mera): «Ориентировочный расчёт. Не является официальной оценкой.» под диапазоном цены (блок 4.1) #2884

Merged
lekss361 merged 1 commit from feat/mera-estimate-disclaimer into main 2026-08-14 12:40:29 +00:00
Owner

Юр-документ владельца от 14.08.2026, блок 4: непосредственно под диапазоном цены на экране результата должна стоять строка «Ориентировочный расчёт. Не является официальной оценкой.»

Сегодня такой строки нет нигде — ни в боевом /v2, ни в превью-контуре. Про 135-ФЗ говорится только на лэндинге, в оферте и (после соседнего PR) в PDF, но не там, где человек видит число.

Что сделано

  • Новый модуль frontend/src/lib/legal-copy.tsSHORT_ESTIMATE_DISCLAIMER. Модуль без единого импорта: его тянут и закрытый контур, и потенциально mera-public, где действует guard изоляции.
  • v2/ResultPanel.tsx (боевой /v2) и legacy HeroSummary.tsx (/trade-in/ui-preview/estimate) импортируют константу. Оба контура правятся вместе — иначе превью и прод разъедутся.
  • Текст встал одним абзацем с существующим пояснением про рыночный разброс, юр-строка первой. Три подряд идущие оговорки читались бы как шум.
  • Пятый литерал дисклеймера не создан: в репозитории их уже четыре (DELIVERABLES_DISCLAIMER, SiteFooter, oferta/page.tsx, PDF-экспортёр), в шапках файлов это перечислено.

Известный компромисс — требует визуальной проверки после деплоя. Новая строка почти наверняка растягивает блок с одной строки на две. Компенсация (lineHeight 1.5→1.4, marginTop −4→−6, вертикальный padding соседнего бокса 18→14px, ~12px) не полностью покрывает рост (~17px), панель 02 — flex-колонка фиксированной высоты артборда, ниже плитки «ИСТОЧНИКИ ДАННЫХ» на flex:1. Пиксельная подгонка — после мержа на проде, локально UI Меры не проверяется (RouteGuard без бэкенда отдаёт пустой DOM).

Проверено: tsc --noEmit, next lint, vitest 29/29, check:mera-public-isolation (18 файлов).

Юр-документ владельца от 14.08.2026, блок 4: непосредственно под диапазоном цены на экране результата должна стоять строка «Ориентировочный расчёт. Не является официальной оценкой.» Сегодня такой строки нет нигде — ни в боевом `/v2`, ни в превью-контуре. Про 135-ФЗ говорится только на лэндинге, в оферте и (после соседнего PR) в PDF, но не там, где человек видит число. **Что сделано** - Новый модуль `frontend/src/lib/legal-copy.ts` — `SHORT_ESTIMATE_DISCLAIMER`. Модуль без единого импорта: его тянут и закрытый контур, и потенциально `mera-public`, где действует guard изоляции. - `v2/ResultPanel.tsx` (боевой `/v2`) и legacy `HeroSummary.tsx` (`/trade-in/ui-preview/estimate`) импортируют константу. Оба контура правятся вместе — иначе превью и прод разъедутся. - Текст встал **одним абзацем** с существующим пояснением про рыночный разброс, юр-строка первой. Три подряд идущие оговорки читались бы как шум. - Пятый литерал дисклеймера не создан: в репозитории их уже четыре (`DELIVERABLES_DISCLAIMER`, `SiteFooter`, `oferta/page.tsx`, PDF-экспортёр), в шапках файлов это перечислено. **Известный компромисс — требует визуальной проверки после деплоя.** Новая строка почти наверняка растягивает блок с одной строки на две. Компенсация (`lineHeight` 1.5→1.4, `marginTop` −4→−6, вертикальный padding соседнего бокса 18→14px, ~12px) не полностью покрывает рост (~17px), панель 02 — flex-колонка фиксированной высоты артборда, ниже плитки «ИСТОЧНИКИ ДАННЫХ» на `flex:1`. Пиксельная подгонка — после мержа на проде, локально UI Меры не проверяется (RouteGuard без бэкенда отдаёт пустой DOM). Проверено: `tsc --noEmit`, `next lint`, `vitest` 29/29, `check:mera-public-isolation` (18 файлов).
lekss361 added 1 commit 2026-08-14 12:32:57 +00:00
feat(tradein/estimate): юр-строка «Ориентировочный расчёт. Не является официальной оценкой.»
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m3s
1b7e047210
Блок 4.1 юр-требований владельца (14.08.2026): под диапазоном цены на
экране результата обязана быть эта строка. Вынесена в новый модуль
lib/legal-copy.ts (SHORT_ESTIMATE_DISCLAIMER, без импортов) — используется
и в v2/ResultPanel.tsx (боевой экран /v2), и в HeroSummary.tsx (legacy-контур
/trade-in/ui-preview/estimate), первым предложением в уже существующем
абзаце-дисклеймере про рыночный разброс. В ResultPanel.tsx подрезаны
lineHeight/marginTop/padding соседнего блока, чтобы новая строка не сжимала
плитки "ИСТОЧНИКИ ДАННЫХ" на фиксированной высоте артборда.
lekss361 merged commit 1d7702a862 into main 2026-08-14 12:40:29 +00:00
lekss361 deleted branch feat/mera-estimate-disclaimer 2026-08-14 12:40:29 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2884
No description provided.