@php($config = \App\Models\Configuracao::atual()) Painel Público — {{ $config->nome_camara }} @livewireStyles {{ $slot }} {{-- QR Code do Modo Institucional (telão sem sessão ativa) — gerado no navegador, sem Composer/npm. Layout usado só por este painel, então carregar aqui não afeta nenhuma outra página pública. PRECISA vir ANTES de @livewireScripts: nem esta tag nem a de @livewireScripts têm async/defer, então o navegador as executa em ORDEM DE DOCUMENTO — garante que `window.QRious` já exista antes do Alpine (embutido no Livewire) começar a escanear a página. Se o CDN falhar/bloquear, o script simplesmente não define `QRious`; renderizarQrPortal() abaixo já protege com `typeof QRious === 'undefined'` — o resto do telão continua normal. --}} @livewireScripts {{-- Geração do QR do Modo Institucional — função ÚNICA e idempotente, nunca duplicada: sempre desenha sobre o MESMO , nunca cria um segundo elemento. Chamada de 3 pontos diferentes, de propósito (nenhum sozinho era confiável o bastante): 1) DOMContentLoaded — primeira carga da página; 2) x-init do próprio canvas (ver modo-institucional.blade.php) — cobre o canvas sendo recriado do zero (sessão ativa encerra e o institucional volta ao DOM); 3) Livewire.hook('morph.added'/'morph.updated', ...) — roda de novo depois de QUALQUER atualização do componente (wire:poll.2s), como rede de segurança contra qualquer cenário em que o canvas seja repintado/limpo entre um poll e outro. Custo desprezível: só desenha um QR pequeno, e sai imediatamente se o canvas não existir na tela (sessão ativa) ou se `QRious` não tiver carregado. --}}