[CL-REFACTOR] refactor(portfolio): split DemoPortfolio god-file (1007→293 + 714) #977
No reviewers
Labels
No labels
ci-failing
duplicate
needs-rebase
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
europa-tech-srl/europatech!977
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-godfile-demoportfolio-20260702"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
DemoPortfolio.tsx(1007 строк) разбит: mock-preset-data + i18n-хелперы вынесены в новыйDemoPortfolio.data.tsx(714 строк), компонент остался вDemoPortfolio.tsx(293 строки). Оба файла <800.Вынесены:
Segment/PresetProperty/PresetData(interfaces),getPropertyName,PRESETS,LOCALIZED_TEXT,getLocText,getChecklist. Публичная поверхность data-модуля —PRESETS,getLocText,getChecklist(то, что использует компонент).Зачем
Review High #2 (mega-audit 2026-07-02): 45 файлов >800 строк — god-file риск maintainability. DemoPortfolio был крупнейшим app-компонентом. Data и view разнесены → каждый файл читаемее и тестируемее по отдельности.
План тестирования
tsc --noEmit0 (ловит недостающие export/import),eslint0 (import-split точный, 0 unused).DemoPortfolioне тронут → route (единственный caller) не затронут, zero blast. Хелперы pure (lang-arg, без хуков).Где могу ошибаться
.tsx(getChecklist/PRESETS содержат JSX-иконки) — не.ts. Оправдано: иконки — часть mock-данных.