@use('Core\Localization\LocalizedDate') @use('Modules\Publicacoes\Noticias\Database\Models\Noticia') @php // Resumo dos filtros ativos: só o que **de fato** filtra a lista entra no resumo. A remoção é // um `GET` para a mesma rota sem aquela chave (o componente preserva as demais). $activeFilters = []; if ($filters['q'] !== '') { $activeFilters[] = ['key' => 'q', 'label' => __('noticias::cms.search'), 'value' => $filters['q']]; } if ($filters['status'] !== '') { $activeFilters[] = [ 'key' => 'status', 'label' => __('noticias::cms.filter_status'), 'value' => __('noticias::cms.status_'.$filters['status']), ]; } if ($filters['category'] !== '') { $activeFilters[] = [ 'key' => 'category', 'label' => __('noticias::cms.filter_category'), 'value' => __('noticias::index.categories.'.$filters['category']), ]; } @endphp {{-- Listagem de notícias no painel (CMS): o módulo informa `title`/`breadcrumbs` e preenche **apenas** o conteúdo — a estrutura é do shell (ADR-009/ADR-016). O title da tela é do shell, nunca do módulo. Busca sempre visível, filtros avançados em `
` nativo, contagem/página no cartão de filtros e estado vazio com ação primária (P5.6.S3) — tudo por `GET`, compartilhável. --}} @if (session('status')) {{ session('status') }} @endif
{{ __('noticias::cms.new') }}
@if ($noticias->isEmpty()) @else {{ __('noticias::cms.col_title') }} {{ __('noticias::cms.col_category') }} {{ __('noticias::cms.col_updated') }} {{ __('noticias::cms.col_status') }} {{ __('noticias::cms.col_actions') }} @foreach ($noticias as $noticia) {{ $noticia->title }} {{ $noticia->slug }} {{ __('noticias::index.categories.'.$noticia->category) }} {{ LocalizedDate::short($noticia->updated_at) }} {{ __('noticias::cms.action_edit') }} @if ($noticia->status === 'publicado')
@csrf {{ __('noticias::cms.action_unpublish') }}
@else
@csrf {{ __('noticias::cms.action_publish') }}
@endif
@csrf @method('DELETE') {{ __('noticias::cms.action_archive') }}
@endforeach
@endif