refactor(bots): разбиение Bots.tsx (3928→163) — механическая экстракция
Шаг 2.2 (часть 3) плана production-готовности: - 16 файлов в components/bots/ (типы, контроллер, диалоги, вкладки, секции) - сверка 28/28 сегментов дословно, порядок хуков 1:1 - check/lint/build чисто, vitest 104/104
This commit is contained in:
@@ -368,3 +368,13 @@
|
||||
- Что изменено: `client/src/pages/TaskDetail.tsx` → 14 файлов в `client/src/components/task-detail/`: types.ts, systemTabs.ts, TabFieldsContent, TaskAccessTab (мёртвый код, сохранён для паритета — кандидат на удаление), InlineSystemFields (ответственные, «На себя», срок, замещение), SubtasksTabContent, TaskContent (роутер вкладок + слоты пресетов), TaskTitleInline (хуки в исходном порядке, фикс условного useRef сохранён), useTaskFieldConditions, ReminderDialog, DeleteTaskDialog, TaskDetailHeader, TaskTabsBar, TaskMobileAccordion. В TaskDetail — композиция + хуки верхнего уровня (SSE, переходы, просмотры).
|
||||
- Как проверялось: посимвольная сверка — 32 несовпавшие строки, все объяснены (22 — префикс export, 4 — разбитые импорты, 5 — адаптации пропсов, 1 — комментарий). Чеклист: per-field editing, «На себя», просмотры, geo/contact в потоке, пресеты, порядок хуков 1:1. check/lint/build чисто; vitest 104/104.
|
||||
- Влияние на поиск/UX: нет.
|
||||
|
||||
---
|
||||
|
||||
## [2.2c] Разбиение Bots.tsx (3928 → 163 строки)
|
||||
|
||||
- Статус: ✅ done
|
||||
- Зачем: см. 2.2a. БЕЗ смены поведения.
|
||||
- Что изменено: `client/src/pages/Bots.tsx` → 16 файлов в `client/src/components/bots/`: bots-types.ts (+zod-схемы), bots-utils.ts, CollapsibleSection, CreateBotUsersPicker, useBotsController.tsx (вся логика дословно, хуки 1:1), CreateBotDialog, BotListCard, BotSettingsTab (apiAccess/регенерация ключей), BotAiTab, BotWebhookTab, BotSubscriptionsTab, BotApiDocsCard, ServicesSection, JsPagesSection, TabModulesSection. В Bots.tsx — каркас композиции (публичный экспорт BotsContent сохранён — используется в Settings.tsx).
|
||||
- Как проверялось: программная сверка — 28/28 сегментов дословно; пропсы типизированы через Pick<ReturnType<typeof useBotsController>>. Чеклист: выдача/регенерация API-ключей, zod-валидации, вкладки — дословно. check/lint/build чисто; vitest 104/104.
|
||||
- Влияние на поиск/UX: нет.
|
||||
|
||||
Reference in New Issue
Block a user