@php use App\Enums\QuestionBatteryStatus; use Illuminate\Support\Carbon; $formatDateTimeLocal = static function ($date): string { if (! $date instanceof Carbon) { return ''; } try { return $date->timezone(config('app.timezone'))->format('Y-m-d\TH:i'); } catch (Throwable) { return ''; } }; $startsAtValue = old('starts_at', $formatDateTimeLocal($battery->starts_at)); $endsAtValue = old('ends_at', $formatDateTimeLocal($battery->ends_at)); $currentStatus = QuestionBatteryStatus::tryFrom((string) $battery->status); $isExpired = $battery->ends_at instanceof Carbon && $battery->ends_at->lt(now()); $isNotYetAvailable = $battery->starts_at instanceof Carbon && $battery->starts_at->gt(now()); @endphp @can('update', $battery)

Disponibilidade no portal

@if($isExpired) Encerrada @elseif($isNotYetAvailable) Ainda não iniciou @elseif($currentStatus === QuestionBatteryStatus::Published) Ativa no portal @endif

Alterar datas ou status não apaga quem já participou — sessões e respostas permanecem na bateria. Para reabrir após o prazo, estenda a data de fim e mantenha o status Publicada.

@csrf @method('PATCH')
Salvar disponibilidade
@endcan