fix(site-finder): report microcopy batch A — gate titles, breadcrumb area, §4.2/4.3 (#1953) #2095

Merged
bot-backend merged 1 commit from fix/report-microcopy-batchA-1953 into main 2026-06-29 08:29:35 +00:00
Collaborator

Контекст

Батч A из live-walkthrough Anton'а по участку 66:41:0702017:131 (микрокопия/честность report'а). Все правки — на LIVE-поверхности AnalysisPageContent → Section*, edit-only, API-контракт не менялся.

Изменения (4 пункта)

# Файл Было → Стало
#1 gate человеческим языком GateVerdictBanner.tsx сырой PZZ_NOT_RESIDENTIAL: …жирный заголовок («Зона не под жильё») + detail + сам код мелким моно-тегом. Словарь 10 кодов + prefix-tolerant ZOUIT_SUB*, graceful fallback на код
#0 площадь в крошке AnalysisPageContent.tsx крошка 6.61 га (geometry_suitability.area_ha) → ЕГРН area_m2/10000 = 11.68 га (= KPI «Площадь»/ЕГРН)
#3 §4.2 слипшиеся слова BestLayoutsBlock.tsx «НизкоеПокрытие 18%» → «Качество данных: Низкое · покрытие 18%»
#4 §4.3 термин + пустая таблица VelocityBlock.tsx «нет данных velocity» → «нет данных о темпе продаж»; пустая «По комнатности» → аккуратный empty-state вместо голых заголовков

Verify

  • type-check / eslint / prettier чисто · vitest 90 passed
  • само-ревью ключевой логики (gate-resolver, breadcrumb area-source, empty-state guard)
  • 🔜 визуальный verify скриншотами на проде после деплоя (до/после) — по директиве Anton'а

Часть многобатчевой пересборки report'а (#1953): A=микрокопия (этот PR), B=дефицит −1.0, C=сети на карте, D=концепция.

## Контекст Батч A из live-walkthrough Anton'а по участку **66:41:0702017:131** (микрокопия/честность report'а). Все правки — на LIVE-поверхности `AnalysisPageContent → Section*`, edit-only, API-контракт не менялся. ## Изменения (4 пункта) | # | Файл | Было → Стало | |---|---|---| | **#1** gate человеческим языком | `GateVerdictBanner.tsx` | сырой `PZZ_NOT_RESIDENTIAL: …` → **жирный заголовок** («Зона не под жильё») + detail + сам код мелким моно-тегом. Словарь 10 кодов + prefix-tolerant `ZOUIT_SUB*`, graceful fallback на код | | **#0** площадь в крошке | `AnalysisPageContent.tsx` | крошка `6.61 га` (geometry_suitability.area_ha) → ЕГРН `area_m2/10000` = **11.68 га** (= KPI «Площадь»/ЕГРН) | | **#3** §4.2 слипшиеся слова | `BestLayoutsBlock.tsx` | «Низкое**Покрытие** 18%» → «Качество данных: Низкое **·** покрытие 18%» | | **#4** §4.3 термин + пустая таблица | `VelocityBlock.tsx` | «нет данных **velocity**» → «нет данных о темпе продаж»; пустая «По комнатности» → аккуратный empty-state вместо голых заголовков | ## Verify - ✅ type-check / eslint / prettier чисто · vitest **90 passed** - ✅ само-ревью ключевой логики (gate-resolver, breadcrumb area-source, empty-state guard) - 🔜 визуальный verify скриншотами на проде после деплоя (до/после) — по директиве Anton'а Часть многобатчевой пересборки report'а (#1953): A=микрокопия (этот PR), B=дефицит −1.0, C=сети на карте, D=концепция.
bot-backend added 1 commit 2026-06-29 08:26:55 +00:00
fix(site-finder): report microcopy batch A (#1953) — gate titles, breadcrumb area, §4.2/4.3
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 55s
CI / openapi-codegen-check (pull_request) Successful in 1m46s
7ab5a735fa
Из live-walkthrough Anton'а по 66:41:0702017:131:
- GateVerdictBanner: сырые gate-коды → человеческие заголовки (PZZ_*/ZOUIT_*),
  сам код оставлен мелким приглушённым моно-тегом; prefix-tolerant для ZOUIT_SUB*
- AnalysisPageContent: площадь в хлебной крошке из ЕГРН area_m2 (= KPI «Площадь»/
  ЕГРН, 11.68 га) вместо geometry_suitability.area_ha (было 6.61)
- BestLayoutsBlock: разделитель + строчная «покрытие» в §4.2 «Качество данных»
  (слипалось «НизкоеПокрытие»)
- VelocityBlock: «нет данных velocity» → «нет данных о темпе продаж»; empty-state
  для таблицы «По комнатности» вместо голых заголовков

Edit-only, API-контракт не менялся (codegen не нужен).
bot-backend merged commit 86f0797499 into main 2026-06-29 08:29:35 +00:00
bot-backend deleted branch fix/report-microcopy-batchA-1953 2026-06-29 08:29:35 +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#2095
No description provided.