Hub de navegação em cartões
Cada painel tem uma página hub: uma grade de cartões, um por destino do painel, no lugar da árvore da barra lateral — para quando a pergunta “onde vejo X?” é real. São três:
| Hub | Painel | URL | Nasce |
|---|---|---|---|
HubDeInfraestrutura | /infra | /infra/hub-de-infraestrutura | ligado — dezesseis destinos em quatro grupos, metade com rótulo de plugin não traduzido |
HubDeAdministracao | /admin | /admin/hub-de-administracao | desligado |
HubDoNegocio | /app | /app{/org}/hub-do-negocio | desligado |
A flag é KIT_HUB (config/kit.php → hub, default false). Ela liga os hubs de /admin e /app; desligada, as duas páginas somem do menu, da URL e da busca ⌘K. O /infra não depende dela: é o único painel onde a grade ganha da árvore no default, e a assimetria é decisão registrada (ADR-03 da wiki hub-de-cards-opcional). Ligar KIT_HUB=true não exige mais nada — o FilamentCardsPlugin já está registrado nos três painéis e o CSS dos cartões já é publicado.
Os cartões saem de App\Filament\Concerns\DescobreCardsDoPainel, que varre os resources e páginas do painel e filtra por canAccess() de cada destino — quem não alcança a tela não vê o cartão. O hub soma à barra lateral, não a substitui: nenhum item sai da navegação.
O teste de navegador é tests/Browser/HubDeCardsTest.php: a grade do /infra pintada, com a descrição dentro do cartão — porque o pacote não registra CSS e sem resources/css/filament/cards.css o HTML é o mesmo e a grade vira lista de links soltos.