Vek1 — bug sidebar colapsada: botão Produtos sem navegação (#137)
Bug #137 + PR #139 — Produtos na sidebar colapsada não navega
Sintoma
No dashboard, com a sidebar colapsada (icon-only), clicar em "Produtos"
(único item de nível topo com sub-rotas) não navega pra lugar nenhum — sem
redirect, sem feedback. Demais itens (que são links diretos) funcionam.
Causa raiz (original)
Itens com items[] no availablePagesAtom são renderizados como<Collapsible> (accordion). Colapsado, o accordion não tem espaço e o clique
no trigger não faz nada. Não é bug de state — o AppSidebar já usacollapsible="icon", então useSidebar().state vira 'collapsed' no desktop.
Fix aplicado (PR #139, merge 2026-08-03)
src/components/sidebar/nav-main.tsx: quando state === 'collapsed' && !isMobile,
itens com items[] renderizam <Link href={item.url}> (rota-pai) em vez doCollapsible. src/components/sidebar/__tests__/nav-main.test.tsx cobre os
3 casos (colapsado = link /products, sub-itens não aparecem, expandido =
trigger de accordion).
O shape real do item Produtos em src/jotai/pages.tsx tem url: '/products'
na raiz, então o fix aponta pra rota certa.
⚠️ Estado: PR mergeou MAS usuário relata que segue sem funcionar (relato 2026-08-03)
O que investigar, em ordem de probabilidade:
- Deploy na Vercel não rodou pro merge
e5e0783(03/08 14:48 UTC). O
código está nomain(SHA nav-mainfea0561), mas se o preview/prod
não subiu, o comportamento não muda. Checar vercel deployments primeiro. - Teste em ambiente sem o merge — local
maindesatualizado (pull antes
do commit) ou preview apontando pra branch antiga. - (menos provável) Algum comportamento do shadcn onde
collapsible="icon"SidebarProvidersem propcollapsibledeixastatefora de'collapsed'— mas oAppSidebardefinecollapsible="icon"na própria<Sidebar>, então ostatederivado do provider deve refletir.
Lição (recorrente no vek1 — ver incidentes LP #122/#123/#133/#134)
O agente "cobriu" o bug com teste + código mergeado, mas verificação em
runtime real de navegador (agent-browser) não foi feita nem o deploy foi
validado. Padrão: após merge de fix de UI, confirmar deploy na Vercel
(last deploy Ready) + testar a rota real (sidebar colapsada → clicar Produtos →
URL muda pra /products) antes de fechar. "Código mergeado" ≠ "funcionando em prod".
Relacionado: vek1-auditor (gate de runtime + deploy) · standup 2026-08-03 nyxz
("fix bug redirect botão Produtos na sidebar colapsada — código do agent não
resolveu, investigando causa raiz").