@use('Core\Localization\LocalizedDate') @use('Modules\Portal\Destaques\Logic\Enums\DestaqueSlot') @use('Modules\Portal\Destaques\Logic\Enums\DestaqueState') @php // Resumo dos filtros ativos (P5.6.S3): só entra o que de fato recorta a lista. $activeFilters = []; if ($filters['q'] !== '') { $activeFilters[] = ['key' => 'q', 'label' => __('destaques::cms.search'), 'value' => $filters['q']]; } if ($filters['slot'] !== '') { $activeFilters[] = [ 'key' => 'slot', 'label' => __('destaques::cms.filter_slot'), 'value' => __(DestaqueSlot::from($filters['slot'])->labelKey()), ]; } if ($filters['state'] !== '') { $activeFilters[] = [ 'key' => 'state', 'label' => __('destaques::cms.filter_state'), 'value' => __('destaques::cms.filter_'.$filters['state']), ]; } @endphp {{-- Listagem de destaques no painel (P5.S4.1): o módulo informa `title`/`breadcrumbs` e preenche **apenas** o conteúdo — a estrutura é do shell (ADR-009/ADR-016). A ordem da tabela é a pilha pública (slot → posição → id) e o estado efetivo vem do `DestaqueWindow` (Clock injetado) — vigência é dado, não texto solto. As ações de linha são `POST` com CSRF (nunca `GET` mutando) e o arquivamento usa confirmação nativa (Popover), sem JS. Busca/filtros avançados, contagem e estado vazio seguem o padrão das listas (P5.6.S3). --}} @if (session('status')) {{ session('status') }} @endif

{{ __('destaques::cms.intro') }}

@if ($canEdit)
{{ __('destaques::cms.new') }}
@endif
@if ($destaques->isEmpty()) @else {{ __('destaques::cms.col_title') }} {{ __('destaques::cms.col_slot') }} {{ __('destaques::cms.col_position') }} {{ __('destaques::cms.col_window') }} {{ __('destaques::cms.col_state') }} {{ __('destaques::cms.col_actions') }} @foreach ($destaques as $destaque) @php $state = $states[$destaque->id] ?? DestaqueState::Inativo; @endphp @if ($canEdit && ! $destaque->isArchived()) {{ $destaque->title ?? $destaque->alt }} @else {{ $destaque->title ?? $destaque->alt }} @endif {{ $destaque->alt }} {{ __($destaque->slot->labelKey()) }} {{ $destaque->position }} @if ($destaque->starts_at === null && $destaque->ends_at === null) {{ __('destaques::cms.window_always') }} @elseif ($destaque->starts_at !== null && $destaque->ends_at !== null) {{ LocalizedDate::dateTime($destaque->starts_at) }} — {{ LocalizedDate::dateTime($destaque->ends_at) }} @elseif ($destaque->starts_at !== null) {{ __('destaques::cms.window_from') }} {{ LocalizedDate::dateTime($destaque->starts_at) }} @else {{ __('destaques::cms.window_until') }} {{ LocalizedDate::dateTime($destaque->ends_at) }} @endif {{ __('destaques::cms.state_'.$state->value) }} @if ($canEdit && ! $destaque->isArchived()) {{ __('destaques::cms.action_edit') }}
@csrf {{ $destaque->active ? __('destaques::cms.deactivate') : __('destaques::cms.activate') }}
@endif @if ($canArchive && ! $destaque->isArchived()) @endif
@endforeach
@endif