@use('Core\Localization\Locales') @use('Modules\Portal\Destaques\Logic\Enums\DestaqueSlot') @use('Modules\Portal\Destaques\Logic\Support\DestaqueLink') {{-- Formulário de destaque (P5.S4.1) — o módulo informa `title`/`breadcrumbs` e preenche **só** o `
` do shell do painel (ADR-009/ADR-016). - Título por locale (ADR-012): o do idioma padrão é obrigatório; nenhum campo depende de JS. - A imagem é o **id do catálogo** Media (ADR-026) — nada de caminho/URL/HTML; o `alt` é obrigatório (a11y) e o destino só aceita caminho interno ou `https` (validação server-side). - Slot/ordem são a pilha pública; a janela de vigência usa `datetime-local` (fuso da aplicação). - Erros: resumo `role="alert"` (`x-cms::form-errors`) + mensagem no campo com `aria-invalid` e `aria-describedby`. Peça arquivada é imutável: a tela mostra os valores e as ações de estado. --}} @php $isEdit = $destaque !== null; $primary = Locales::primary(); $editable = $isEdit ? $canEdit : true; $formTitle = $isEdit ? __('destaques::cms.form_title_edit') : __('destaques::cms.form_title_create'); $action = $isEdit ? route('destaques.cms.update', $destaque) : route('destaques.cms.store'); $slotValue = old('slot', $form['slot']); @endphp @if (session('status')) {{ session('status') }} @endif @if ($isEdit && $destaque->isArchived()) {{ __('destaques::cms.archived_readonly') }} @endif @if ($editable)
@csrf @if ($isEdit) @method('PUT') @endif @foreach (Locales::all() as $locale) @php $key = 'title.'.$locale; $id = 'destaque-title-'.str_replace('_', '-', $locale); $error = $errors->first($key); $value = old($key, $form['title'][$locale] ?? ''); @endphp
@if (filled($error)) {{ $error }} @endif
@endforeach
@php $slotError = $errors->first('slot'); @endphp
{{ __('destaques::cms.slot_help') }} @if (filled($slotError)) {{ $slotError }} @endif
@foreach (['starts_at' => 'startsAt', 'ends_at' => 'endsAt'] as $field => $key) @php $id = 'field-'.str_replace('_', '-', $field); $error = $errors->first($field); $value = old($field, $form[$key]); @endphp
@if (filled($error)) {{ $error }} @endif
@endforeach
{{ __('destaques::cms.active_help') }}
{{ __('destaques::cms.cancel') }} {{ __('destaques::cms.save') }}
@else
{{ __('destaques::cms.title_field') }}
{{ $destaque?->title }}
{{ __('destaques::cms.slot_field') }}
{{ $destaque?->slot !== null ? __($destaque->slot->labelKey()) : '' }}
{{ __('destaques::cms.alt_field') }}
{{ $destaque?->alt }}
{{ __('destaques::cms.link_field') }}
{{ $destaque?->link ?? __('destaques::cms.link_none') }}

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

@endif @if ($isEdit && ($canEdit || $canArchive))

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

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

@if ($canEdit)
@csrf {{ $destaque->active ? __('destaques::cms.deactivate') : __('destaques::cms.activate') }}

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

@endif @if ($canArchive) @endif
@endif