{{-- Central da Sessão — só apresenta o que já existe em outras telas (Pauta, Quórum e Votação, Ata, Painel Público). Toda ação sensível (abrir/encerrar votação, confirmar presença, autorizar fala, gerar Ata) continua acontecendo nas rotas/Controllers/Services de sempre; os botões daqui só levam pra lá. wire:poll.5s (não mais rápido que isso — esta tela é uma visão geral, não a tela de votação em si, que já tem seu próprio wire:poll mais curto em QuorumVotacao). --}}

Central da Sessão

@if($this->sessao)
{{ $this->sessao->numero }}ª Sessão {{ $this->sessao->tipo }}
{{ $this->sessao->data_sessao->format('d/m/Y') }}
@endif
@if($this->sessao)
EM ANDAMENTO
@if($mostrarDiagnostico)
    @foreach($this->diagnostico as $item)
  • ✓ {{ $item['label'] }} {{ $item['detalhe'] }}
  • @endforeach
@endif
@endif
@if(! $this->sessao) {{-- ===================== Sem sessão ativa ===================== --}}
Nenhuma sessão em andamento no momento.
@if($this->proximaSessao)

Próxima sessão

{{ $this->proximaSessao->numero }}ª Sessão {{ $this->proximaSessao->tipo }}
{{ $this->proximaSessao->data_sessao->format('d/m/Y') }}
Ver / preparar sessão →
@endif @if($this->ultimaSessaoEncerrada)

Última sessão

{{ $this->ultimaSessaoEncerrada->numero }}ª Sessão {{ $this->ultimaSessaoEncerrada->tipo }}
{{ $this->ultimaSessaoEncerrada->data_sessao->format('d/m/Y') }} — Encerrada
Ver sessão → Resultados →
@endif @if($this->proximasSessoes->isNotEmpty())

Próximas sessões

@endif
@else {{-- ===================== Sessão ativa ===================== --}} @php($materiaAtual = $this->materiaEmVotacao) @php($bloco = $this->blocoAtivo) @php($fala = $this->falaEmAndamento) @if($this->sessao->isSuspensa()) {{-- Sessao.status continua 'ativa' de propósito (ver Sessao::isSuspensa()) — por isso todo o resto da tela (pauta, presença, fila) continua aparecendo normalmente abaixo, sem perder nenhum estado. --}}
SESSÃO SUSPENSA
@if($this->sessao->suspensa_motivo)
Motivo: {{ $this->sessao->suspensa_motivo }}
@endif
@endif @if($this->sessao->isMensagemTelaoAtiva())
MENSAGEM ATIVA NO TELÃO
"{{ $this->sessao->mensagem_telao_texto }}"
@endif @if($this->proximaAcao)
Próxima ação sugerida: {{ $this->proximaAcao }}
@endif
@if(! $this->quorumAtingido)
Quórum insuficiente — {{ $this->presentes }}/{{ $this->quorumMinimoNecessario }} necessários
@endif @if($materiaAtual || $bloco)
Votação aberta
@endif @if($this->pedidosPendentesCount > 0)
{{ $this->pedidosPendentesCount }} {{ $this->pedidosPendentesCount === 1 ? 'pedido de fala aguardando' : 'pedidos de fala aguardando' }}
@endif

Presentes

{{ $this->presentes }} / {{ $this->totalVereadoresAtivos }}
{{ $this->quorumAtingido ? 'Quórum atingido' : 'Quórum insuficiente' }}
Ver presença →

Pauta

{{ $this->totalMaterias }}
{{ $this->totalMaterias === 1 ? 'matéria' : 'matérias' }} — {{ $this->materiasFinalizadas }} finalizada(s)
Ver pauta →

Votação

@if($materiaAtual)
ABERTA
{{ \Illuminate\Support\Str::limit($materiaAtual->materia->titulo, 34) }}
@elseif($bloco)
ABERTA (bloco)
{{ $bloco->itens->count() }} matérias no bloco
@else
Nenhuma votação aberta
@endif Gerenciar votação →

Falas

{{ $this->pedidosPendentesCount }}
aguardando{{ $fala ? ' — 1 em andamento' : '' }}
Gerenciar falas →
@if($materiaAtual || $bloco || $this->materiaEmLeitura || $this->ultimaVotacaoFinalizada) @if($materiaAtual)

Matéria em apreciação

{{ $materiaAtual->materia->tipo }}{{ $materiaAtual->materia->numero ? ' nº '.$materiaAtual->materia->numero.'/'.$materiaAtual->materia->ano : '' }} @if($materiaAtual->materia->voto_secreto) 🔒 Secreta @endif
@if($materiaAtual->materia->autor)
Autor: {{ $materiaAtual->materia->autor->name }}
@endif @if($materiaAtual->materia->descricao)
{{ $materiaAtual->materia->descricao }}
@endif
Votação aberta
Favor: {{ $this->contagemMateriaAtual['favor'] }} Contra: {{ $this->contagemMateriaAtual['contra'] }} Abstenção: {{ $this->contagemMateriaAtual['abstencao'] }}
{{-- Só informa — não bloqueia nada. A regra de quem pode encerrar continua sendo só a policy já existente, aplicada onde "Encerrar votação" de fato acontece (admin.sessoes.votacao). --}} @if($this->statusVotantes)
Presentes: {{ $this->statusVotantes['presentes'] }} Votaram: {{ $this->statusVotantes['votaram'] }} Ainda não votaram: {{ $this->statusVotantes['pendentes'] }}
@endif
Ver matéria @if($materiaAtual->materia->anexo_pdf) Documento @endif Gerenciar votação
@elseif($bloco)

Votação em bloco em apreciação

{{ $bloco->itens->count() }} matérias
    @foreach($bloco->itens as $item)
  • {{ $item->materia->tipo }} — {{ \Illuminate\Support\Str::limit($item->materia->titulo, 60) }}
  • @endforeach
Votação aberta
Favor: {{ $this->contagemBloco['favor'] }} Contra: {{ $this->contagemBloco['contra'] }} Abstenção: {{ $this->contagemBloco['abstencao'] }}
@elseif($this->materiaEmLeitura) @php($sm = $this->materiaEmLeitura)

Matéria em leitura

{{ $sm->materia->tipo }}{{ $sm->materia->numero ? ' nº '.$sm->materia->numero.'/'.$sm->materia->ano : '' }}
@if($sm->materia->autor)
Autor: {{ $sm->materia->autor->name }}
@endif
Em leitura
@else @php($ultima = $this->ultimaVotacaoFinalizada)

Último resultado

{{ $ultima->materia->tipo }}{{ $ultima->materia->numero ? ' nº '.$ultima->materia->numero.'/'.$ultima->materia->ano : '' }}
@if($ultima->materia->voto_secreto) 🔒 Votação secreta @endif
{{ ucfirst($ultima->resultado) }}
Favor: {{ $ultima->votos_favor }} Contra: {{ $ultima->votos_contra }} Abstenção: {{ $ultima->votos_abstencao }}
@endif @else
Nenhuma matéria em apreciação no momento.
@endif

Linha do tempo da sessão

@if($this->timeline->isNotEmpty())
    @foreach($this->timeline as $evento)
  • {{ $evento['horario'] }} {{ $evento['descricao'] }}
  • @endforeach
@else
Nenhum evento registrado ainda pra esta sessão.
@endif
Timeline completa exige uma futura estrutura de auditoria/eventos — esta lista mostra só o que já está registrado.

Com a palavra

@if($fala)
{{ $fala->nomeExibicao() }}
{{ $fala->isAparte() ? 'Aparte' : 'Fala' }} @if($this->restanteSegundosFala !== null) — {{ sprintf('%02d:%02d', intdiv($this->restanteSegundosFala, 60), $this->restanteSegundosFala % 60) }} restantes @endif
{{ $fala->isAparte() ? 'Gerenciar aparte' : 'Gerenciar fala' }} → @else
Ninguém com a palavra no momento.
@endif @if($this->proximosNaFila->isNotEmpty() || $this->pedidosNormaisPendentesCount >= 2)
{{ $this->sorteioOrdemFala ? 'Ordem sorteada' : 'Próximos na fila' }}
@if($this->pedidosNormaisPendentesCount >= 2) @endif
@if($this->proximosNaFila->isNotEmpty())
    @foreach($this->proximosNaFila as $pedido)
  1. {{ $pedido->ordem ? $pedido->ordem.'º ' : '' }}{{ $pedido->nomeExibicao() }}
  2. @endforeach
Ver fila completa → @else
Nenhum inscrito no momento.
@endif
@endif

Ata

@if(! $this->ata)
Ainda não gerada.
@csrf
@elseif(! $this->ata->publicar_site)
Em preparação
Rascunho — ainda não publicada.
Abrir Ata → @else
Disponível
Publicada.
Visualizar Ata → @endif

Ações rápidas

Pauta Presença Votação Falas Atas Painel Público Histórico da Sessão Resumo Final @if(! $this->sessao->isSuspensa()) @endif
{{-- ===================== Modal: Cancelar votação ===================== --}} @if($modalCancelarVotacao && $materiaAtual)

Cancelar esta votação?

Os votos registrados nesta tentativa serão desconsiderados do resultado oficial (continuam preservados no histórico, nunca são apagados). O cancelamento ficará registrado na linha do tempo da sessão.
@if($motivoCancelamento === 'Outro') @endif @error('motivoCancelamento')
{{ $message }}
@enderror
@endif {{-- ===================== Modal: Suspender sessão ===================== --}} @if($modalSuspender)

Suspender a sessão?

A sessão continua existindo — pauta, presença, votos, fila de fala e inscrições são preservados. Enquanto suspensa, nenhum voto pode ser registrado.
@if($motivoSuspensaoPreset === 'Outro') @endif @error('motivoSuspensaoPreset')
{{ $message }}
@enderror
@endif {{-- ===================== Modal: Registrar ocorrência ===================== --}} @if($modalOcorrencia)

Registrar ocorrência

@error('ocorrenciaDescricao')
{{ $message }}
@enderror
@endif {{-- ===================== Modal: Mensagem no Telão ===================== --}} @if($modalMensagemTelao)

Mensagem no Telão

A mensagem é só uma camada de apresentação — não altera status, votação, matéria, fala nem cronômetro. Quando ocultada, o telão volta sozinho ao que estiver acontecendo de verdade.
@error('mensagemTelaoTexto')
{{ $message }}
@enderror
@endif {{-- ===================== Modal: Checklist de encerramento (item 4) ===================== --}} @if($modalEncerrar)

Checklist de encerramento

    @foreach($this->checklistEncerramento as $item)
  • @if($item['tipo'] === 'ok') ✓ @elseif($item['tipo'] === 'aviso') ⚠ @else ✕ @endif {{ $item['label'] }}
  • @endforeach
@if(! $this->podeEncerrarSessao)
Não é possível encerrar com uma votação em andamento. Encerre ou cancele a votação antes de tentar novamente.
@endif
@csrf
@endif @endif