@php use App\Support\Badges\BadgeCatalog; use App\Support\Badges\BadgeDomain; use App\Support\ReviewPackStatus; /** @var ?\App\Models\Tenant $tenant */ /** @var ?\App\Models\ReviewPack $pack */ /** @var ?ReviewPackStatus $statusEnum */ /** @var bool $canView */ /** @var bool $canManage */ /** @var ?string $downloadUrl */ /** @var ?string $failedReason */ $badgeSpec = $statusEnum ? BadgeCatalog::spec(BadgeDomain::ReviewPackStatus, $statusEnum->value) : null; @endphp @if (! $pack) {{-- State 1: No pack --}}
No review pack generated yet.
@if ($canManage) Generate pack @endif
@elseif ($statusEnum === ReviewPackStatus::Queued || $statusEnum === ReviewPackStatus::Generating) {{-- State 2: Queued / Generating --}}
{{ $badgeSpec?->label ?? '—' }}
Generation in progress…
Started {{ $pack->created_at?->diffForHumans() ?? '—' }}
@elseif ($statusEnum === ReviewPackStatus::Ready) {{-- State 3: Ready --}}
{{ $badgeSpec?->label ?? '—' }}
Generated
{{ $pack->generated_at?->format('M j, Y H:i') ?? '—' }}
Expires
{{ $pack->expires_at?->format('M j, Y') ?? '—' }}
Size
{{ $pack->file_size ? Number::fileSize($pack->file_size) : '—' }}
@if ($canView && $downloadUrl) Download @endif @if ($canManage) Generate new @endif
@elseif ($statusEnum === ReviewPackStatus::Failed) {{-- State 4: Failed --}}
{{ $badgeSpec?->label ?? '—' }}
@if ($failedReason)
{{ $failedReason }}
@endif
{{ $pack->updated_at?->diffForHumans() ?? '—' }}
@if ($canManage) Retry @endif
@elseif ($statusEnum === ReviewPackStatus::Expired) {{-- State 5: Expired --}}
{{ $badgeSpec?->label ?? '—' }}
Expired {{ $pack->expires_at?->diffForHumans() ?? '—' }}
@if ($canManage) Generate new @endif
@endif