refactor: align frontend ownership boundaries

Close audit gaps across API drift, query policy, UI, and tests.
This commit is contained in:
2026-09-06 18:20:05 +03:00
parent 175727bc93
commit c97f62bd98
118 changed files with 2190 additions and 2254 deletions
+5 -6
View File
@@ -27,12 +27,11 @@ image state. Простое форматирование одного перед
существующий formatter остаётся presentation concern; вычисления из всей
коллекции остаются во VM.
View files дробятся по смысловой нагрузке, а не только по количеству строк.
Каждый top-level state и каждый именуемый section страницы — отдельный
`*.view.tsx` в `components/`, а не накопление внутри одного большого
`*.view.tsx`. Контейнер импортирует state views из `./components` и выбирает
нужный по `viewModel.state`. Держать loading/error/empty/loaded components в
одном файле view нельзя.
View files дробятся по ownership и смысловой нагрузке, а не по количеству строк.
Самостоятельные top-level states и sections выносятся в flat `components/*.view.tsx`,
если это делает principal component и границы изменений яснее. Маленькие
tightly-coupled renderers остаются рядом с parent; механическое правило «один
component — один file» и line-count gate не используются.
Known API errors, retry и stale snapshot остаются local views, а непойманные
route errors обрабатывает общий route-keyed ErrorBoundary.