{{-- Navegadores bloqueiam som sem uma primeira interação — como esse
painel fica ligado sozinho numa TV, precisa de UM clique pra
destravar o áudio. Depois disso, os beeps tocam sozinhos. --}}
{{-- ============ cabeçalho fixo, comum a todas as telas base ============ --}}
@if($sessao)
AO VIVO
@else
AGUARDANDO
@endif
@if($config->painel_mostrar_relogio_data)
@endif
{{-- ============ MENSAGEM NO TELÃO ============
Camada de apresentação pura (ver Sessao::isMensagemTelaoAtiva())
— nunca depende de votação/matéria/fala/cronômetro; some
sozinha quando o operador oculta (ResultadoAoVivo::estadoBase()
volta a calcular o estado real no próximo wire:poll.2s). --}}
@if($this->estadoBase === 'mensagem')
AVISO
{{ $sessao->mensagem_telao_texto }}
@endif
{{-- ============ SEM SESSÃO ATIVA (tela de espera) ============ --}}
@if($this->estadoBase === 'sem_sessao')
Aguardando início da sessão
Este painel atualiza sozinho assim que uma sessão for iniciada.
@endif
{{-- ============ PROJETOR (imagem ou vídeo ativado pelo operador) ============
estadoBase() já tinha prioridade máxima pra 'projecao' (ver
ResultadoAoVivo::estadoBase()) e projecaoEmbedUrl() já convertia
YouTube/Vimeo corretamente — mas nunca existia HTML aqui pra
mostrar isso: o telão ficava só no fundo escuro. Reaproveita o
mesmo wire:poll.2s do componente (raiz do arquivo) — nenhum
polling novo. Ao desligar, projecao_ativa vira false e
estadoBase() recalcula sozinho pro estado real da sessão (fala/
votação/quórum), sem precisar "lembrar" de nada. --}}
@if($this->estadoBase === 'projecao')
@endif
{{-- ============ SESSÃO SUSPENSA ============
Apresentação institucional — preserva cabeçalho/logo/relógio/
AO VIVO (ficam em .telao-topo, fora daqui) e nunca deixa a
tela vazia. Some sozinho ao retomar (Sessao.suspensa vira
false, estadoBase() recalcula pro estado real na próxima
wire:poll.2s), sem F5. --}}
@if($this->estadoBase === 'suspensa')
Os vereadores interessados devem realizar a inscrição no tablet.
Esta mensagem permanecerá no painel até o encerramento das inscrições.
@endif
{{-- ============ FALA ATIVA (mostra pra qualquer fala autorizada, normal ou aparte) ============ --}}
@if($this->estadoBase === 'fala' && $this->falaEmAndamento)
@php($falaAtual = $this->falaEmAndamento)
@php($inicioEm = $falaAtual->tempo_inicio->toIso8601String())
@php($fimEm = $falaAtual->tempo_inicio->copy()->addMinutes($falaAtual->tempo_solicitado)->toIso8601String())
@php($duracaoSegundos = $falaAtual->tempo_solicitado * 60)
@if($falaAtual->fotoExibicao())
@else
{{ mb_substr($falaAtual->nomeExibicao(), 0, 1) }}
@endif
@if($falaAtual->isAparte())
Aparte autorizado
@elseif($falaAtual->isAvulso())
Convidado
@else
Fala autorizada
@endif
{{ $falaAtual->nomeExibicao() }}
@if($falaAtual->partidoExibicao())
{{ $falaAtual->partidoExibicao() }}
@endif
@if($config->painel_mostrar_cronometro)
{{-- Cronômetro — item "7": sempre grande, nunca quebra linha, nunca
fica atrás de outro elemento. Lógica de tempo 100% inalterada,
só a classe .telao-fala-cronometro mudou (era style inline). --}}
@endif
{{-- Região inferior — nunca sobrepõe o card principal (é um
irmão dele, não um overlay). Só pedidos com status
pendente aparecem aqui; quem está com a palavra tem
status 'autorizada' e nunca aparece duplicado nesta
lista. Atualiza sozinho a cada wire:poll.2s (raiz do
componente) — nenhum polling novo. --}}
@if($this->pedidosPendentes->isNotEmpty())
Aguardando a palavra
@foreach($this->pedidosPendentes->take(8) as $pedido)
{{ $pedido->isAparte() ? 'Pedido de aparte registrado' : 'Pedido de fala registrado' }}
{{ $i + 1 }}
{{ $pedido->tempo_solicitado }} min
@endforeach
@endif
{{-- ============================================================
OVERLAYS — aparecem por cima da tela base e somem sozinhos
============================================================ --}}
{{-- tela preta de transição (contando os votos) --}}
APURANDO OS VOTOS...
{{-- resultado oficial da votação --}}
RESULTADO OFICIAL DA VOTAÇÃO
@if($config->painel_mostrar_totalizadores)
FAVORÁVEIS
CONTRÁRIOS
ABSTENÇÕES
@endif
{{ strtoupper(\App\Models\Configuracao::atual()->nome_camara) }} · RESULTADO OFICIAL