@php
// Etapa 2D — só dados reais do model, sem inventar identificação:
// mesmo padrão "{numero ou 's/nº'}/{ano} — {titulo}" já usado no
// bloco de matérias semelhantes logo abaixo (e nas listagens de
// Protocolo). "Processo Legislativo" não é uma página própria — só
// o rótulo do grupo do menu — por isso 'rota' => null (breadcrumb
// já sabe renderizar isso como texto, não link).
$itensBreadcrumb = [
['label' => 'Painel', 'rota' => route('admin.dashboard')],
['label' => 'Processo Legislativo', 'rota' => null],
['label' => 'Matérias', 'rota' => route('admin.materias.index')],
['label' => $materia?->exists
? ($materia->numero ?: 's/nº') . '/' . $materia->ano . ' — ' . $materia->titulo
: 'Nova Matéria'],
];
@endphp
@if($materia?->exists)
{{-- EDIÇÃO — as 4 abas fazem sentido porque a matéria já existe:
Protocolo/Tramitação/Histórico dependem de um id persistido
(ver MateriaForm::protocolosVinculados()/linhaDoTempo(), que
já retornam vazio quando $materia não existe — Etapa 2D não
mudou essa regra, só decidiu ONDE mostrar cada uma). --}}
@include('livewire.admin.partials.materia-dados')
Protocolo(s) vinculados
@forelse($this->protocolosVinculados as $vinculado)
@endforelse
{{-- Etapa 2H, item 9: busca/vínculo de protocolo escondida
pra quem só tem leitura (backend já bloqueia via
protegerEdicao() em vincularProtocolo()). --}}
@if($this->podeEditar)
Use isso tanto pra vincular o protocolo de entrada quanto um protocolo de retorno do Executivo já cadastrado (só aparecem protocolos ainda sem matéria).
@if(mb_strlen(trim($buscaProtocolo)) >= 2)
@forelse($this->resultadosBuscaProtocolo as $resultado)
@empty
Nenhum protocolo disponível pra "{{ $buscaProtocolo }}".
@endforelse
@endif
@endif
{{-- Componente Livewire operacional já existente, só
embutido aqui — nada da lógica dele foi tocado.
x-show (não x-if) na aba: o nó fica sempre no DOM,
só escondido por CSS quando a aba não está ativa, então
o ciclo de vida/estado do Livewire nunca é destruído ao
trocar de aba (ver relatório da Etapa 2D). --}}
Linha do tempo
@if($this->linhaDoTempo->isNotEmpty())
@else
{{-- Antes da Etapa 2D este card inteiro ficava
escondido quando vazio (pra não poluir uma
página só de campos). Agora que é uma aba
própria, faz mais sentido mostrar o estado
vazio do que a aba simplesmente sumir — não é
conteúdo novo, só a mensagem de "nada aqui
ainda" que o forelse já usa em outras abas. --}}
Nenhum evento registrado ainda para esta matéria.
@endif
@else
{{-- CRIAÇÃO — matéria ainda não existe, então Protocolo/Tramitação/
Histórico não têm a que se referir (dependem de um id
persistido). Só Dados, sem nenhuma aba — não faria sentido
mostrar 3 abas vazias/desabilitadas pra uma matéria que ainda
não foi salva. --}}
@include('livewire.admin.partials.materia-dados')
@endif