{{-- Layout do painel autenticado. Estrutura conforme docs/design_system/dashboard-01.png: sidebar fixa à esquerda, header no topo e conteúdo em cards. DECISÃO: só a sidebar navega. A referência tem menu horizontal E sidebar, com os mesmos destinos nos dois lugares. Com os poucos módulos que temos, duplicar a navegação só criaria dúvida sobre onde clicar. O header fica com busca, notificações e o menu do usuário. O @vite é o que carrega CSS e JS compilados. Sem ele a página renderiza sem estilo algum, por mais completo que esteja o build — já aconteceu na Sprint 01, e LayoutAssetsTest existe por causa disso. --}} @yield('title', config('app.name')) {{-- Inter é a fonte do design system. O `preconnect` adianta o handshake com o Google Fonts; sem ele a fonte só começa a baixar depois que o CSS termina, e o texto pisca trocando de fonte. --}} @vite(['resources/css/app.css', 'resources/js/app.js']) @auth
{{-- Só aparece abaixo de 992px, onde a sidebar está recolhida. --}} @if (auth()->user()->isSuperAdmin()) {{-- Faixa permanente: o operador da plataforma enxerga dados de todas as arenas, e confundir esse contexto com o de um cliente é um erro caro. DENTRO DE UMA ARENA ELA FICA MAIS IMPORTANTE, não menos: as telas passam a ser idênticas às que o cliente vê, e sem o nome ao lado nada distingue "estou dando suporte à Arena X" de "estou na minha própria conta". Por isso o nome entra na própria faixa, e não num canto qualquer. A arena vem do TenantContext — a mesma fonte que restringe as consultas desta requisição. Ler a sessão aqui deixaria a faixa e os dados livres para discordar, que é exatamente o erro que ela existe para impedir. --}} @php($supportArena = app(App\Support\TenantContext::class)->organization()) Operação da plataforma @if ($supportArena) · administrando {{ $supportArena->name }} @endif @if ($supportArena) {{-- Sair sempre à vista, junto da faixa: sem uma saída visível o operador só voltaria para a plataforma adivinhando a URL — e a sessão continuaria presa à arena na próxima tela que abrisse. --}}
@csrf
@endif @endif
@yield('content')
@else
@yield('content')
@endauth {{-- Modal global de confirmação/aviso (substitui confirm()/alert() nativos). Fora do @auth para valer em qualquer página que use este layout. --}} @include('partials.confirm-modal')