Repository navigation
Redesign do frontend: páginas, navegação responsiva e acessibilidade - #35
Conversation
Review automatizado do PR #35Não mergeei ainda — achou 3 regressões visíveis pro usuário que valem correção antes do merge, mais 4 de severidade média e 3 de manutenibilidade/performance (sem bug visível hoje). Reportando como spec pra cada achado ter arquivo/linha/cenário de falha claro. Alta prioridade (regressões reais)1. 2. 3. Média prioridade4. 5. 6. 7. Baixa prioridade (manutenibilidade/performance, sem bug visível hoje)8. 9. 10. Revisão feita com o skill |
…est wizard
Unscoped hasOldInput() (no key argument) only checks whether the
session has ANY flashed old input at all, not whether this form's
fields are among it. Stale old-input flashed by a completely
unrelated failed form elsewhere in the app was enough to make the
is_active/is_public/languages[] checkboxes silently render unchecked
here, creating a new contest as inactive/private or with no languages
pre-selected. Scoped each check to its own field name
(hasOldInput('is_active') etc.) so it only applies when this form
itself was the one that failed validation.
Found in code review of #35.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011u3o4QCgpcqH51edYyRPMn
ReviewGreat work on the redesign — the adaptation to the current backend ( Fixed before merging (real correctness bugs)
Follow-up debt (not blocking, documented for later)
None of the follow-up items are merge-blockers on their own; flagging them here so they're tracked rather than lost. Full suite passes (494+ tests) against this branch merged with current master. Merging. |
A interface misturava layouts, cores e controles sem ação. Este PR unifica o frontend, melhora a leitura e torna navegação, filtros e recuperação de erros consistentes nas páginas públicas, de participantes e de administração.
inert, contenção de foco, Escape e retorno ao acionador. Menu mobile, skip link, foco visível, redução de movimento e tratamento de cores forçadas.Vue monta apenas seus componentes, preservando o documento Blade. A worktree isolada integra a master com os PRs de backend #24–#29, #31 e #36–#38. Sem alterações em controllers, rotas, migrations ou contratos de API; sem novas dependências nesta revisão de cores.
Validação concluída:
npm run build.npm run test:frontend: 14 testes, incluindo 68 combinações de contraste nos dois temas.vendor/bin/phpunit --no-coverageem contêiner Linux temporário sem rede: 489 testes / 2.964 assertions no Linux.git diff --check.Análise completa por página e medições · Inventário · Auditoria de acessibilidade.
Listas filtram os registros carregados e atualizam dados por navegação/recarregamento. Templates históricos sem rotas permanecem arquivados. Recuperação real por e-mail e novos controles administrativos dependem de implementação no backend.
Closes #32
Integração final: preserva as novas páginas de perfil e gerenciamento de problemas por competição; ambas adaptadas ao design. Suíte completa passou no Linux. No macOS, somente os dois testes de compilação C dependem do ambiente Linux (Clang sem
crt0.o).