feat: refactor de UI/UX (fase 1) - foundations, App Shell, Storybook #37
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/frontend-ux-refactor-fase1"
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?
Depende do PR #36 (ainda nao mergeado) - esta branch parte de
feature/backlog-tecnico-fase1, nao dedevelop, porqueStatusBadgeja usaSTEP_STATUS_LABELS(vocabulario unico de outcome) introduzido la. Depois que o #36 for mergeado, o base deste PR pode ser trocado pradevelop.Refactor de UI/UX do frontend (completo)
Mapa completo do frontend atual + estrategia foi discutido antes de qualquer codigo. Ordem seguida: A. App Shell -> B. RunDetail -> C. Library -> D. ReportDetail -> E/F/G/H. Issue/Requirement/Technical Validation/Traceability/Analytics.
A. Foundations (SCSS) + App Shell (Sidebar) + Storybook
styles/tokens/+styles/foundations/+globals.scsssubstituemindex.css. Tokens semanticos novos convivem com os nomes antigos (alias 1:1) - codigo ainda nao tocado continua funcionando sem mudanca.position: sticky) substitui o menu horizontal: Overview / Testing (Library, Plans, Runs) / Quality (Issues, Requirements, Traceability) / EEG (Reports, Technical Validation) / Analytics / Dev Tools (so em development). "New Report"/"New Run" saem da nav global - cada lista ja tinha seu botao de criar./api/metrics,/api/runs,/api/issues), zero grafico novo.App.tsx.B. RunDetail -> workspace de execucao
position: sticky.C. Library -> master/detail
D. ReportDetail -> leitura primeiro, edicao explicita
E/F/G. IssueDetail, RequirementDetail, TechnicalValidationDetail -> mesmo padrao
ReadField(label/valor no modo leitura), reusado nas 4 telas que tem esse padrao.G/H. Traceability e Analytics (Metrics)
StatCardcompartilhado, em vez de markup duplicado.Componentes novos (construidos so quando uma tela precisou)
Button,Badge,StatusBadge,Card,StatCard,PageHeader,EmptyState,ProgressBar,DropdownMenu,Tabs,ReadField- cada um com.tsx/.scss/.test.tsx(/.stories.tsx).Verificacao
87 testes de frontend passando, typecheck/lint/build limpos a cada commit. Todas as telas verificadas manualmente no navegador contra dados reais (Overview, Reports, Library, Issues/IssueDetail, Requirements/RequirementDetail, Technical Validation, Traceability, Analytics, RunDetail), incluindo os fluxos de criar/editar/excluir e os menus "...".
🤖 Gerado com Claude Code
Primeiro passo do refactor de UI/UX: infraestrutura + navegacao, sem tocar telas de dominio ainda. - styles/tokens + styles/foundations + globals.scss substituem index.css. Tokens semanticos novos (--color-bg-page, --color-text-primary, etc.) convivem com os nomes antigos (--bg, --ink, --signal...), redefinidos como alias 1:1 dos novos - o codigo existente que ainda referencia os nomes antigos via style={{}} inline (72+ ocorrencias) continua funcionando sem mudanca, migra tela por tela conforme o refactor avanca. - AppShell/Sidebar substitui o menu horizontal (.topbar/NavDropdown) por uma sidebar estavel: Overview / Testing (Library, Plans, Runs) / Quality (Issues, Requirements, Traceability) / EEG (Reports, Technical Validation) / Analytics / Dev Tools (so em development, mesmo gate de antes). "New Report"/"New Run" saem da navegacao global - cada lista ja tem seu proprio botao de criar. - Overview (nova tela): v1 leve, só com dados que ja existem hoje (metrics/runs/issues) - 3 KPIs, "precisa de atencao" e "runs recentes". Sem grafico novo. Requirement Coverage/Risk Hotspots ficam pra quando o backend tiver a agregacao (fora de escopo deste pass). - Primitivas: Button, Badge, StatusBadge, Card, StatCard (com skeleton de loading), PageHeader, EmptyState - cada uma com .tsx/.scss/.test.tsx. Nenhuma rota mudou, nenhuma funcionalidade foi removida - todos os 17 componentes de tela existentes continuam intactos, so passaram a renderizar dentro do AppShell em vez do topbar antigo. Verificado manualmente no navegador (Reports/Overview/Library/Requirements). 71 testes de frontend passando (22 novos), typecheck/lint/build limpos.