@props(['clients']) @push('styles') @endpush
@foreach ($clients as $client) @php $products = $client->resolvedProducts(); $daysUntilRenewal = $client->renewal_date ? $client->daysUntilRenewal() : null; $isOverdue = $daysUntilRenewal !== null && $daysUntilRenewal < 0; $isDueToday = $daysUntilRenewal === 0; $productCount = count($products); $actionFocus = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-oah-black/25 focus-visible:ring-offset-2 focus-visible:ring-offset-[#e2c040]'; @endphp
{{-- Header --}}
@if ($client->logo_path) @else
{{ strtoupper(substr($client->name, 0, 1)) }}
@endif

{{ $client->name }}

! $client->renewal_date, ])>

Days until renewal

$isDueToday || $isOverdue, ])> @if ($client->renewal_date) @if ($daysUntilRenewal > 0) {{ $daysUntilRenewal }} {{ $daysUntilRenewal === 1 ? 'day' : 'days' }} @elseif ($daysUntilRenewal === 0) Today @else {{ abs($daysUntilRenewal) }} {{ abs($daysUntilRenewal) === 1 ? 'day' : 'days' }} overdue @endif @else Not set @endif

{{-- Products --}}

Utilisation

Package products

@if ($productCount > 0) {{ $productCount }} @endif
@if ($productCount > 0)
$productCount > 4, ])>
    @foreach ($products as $product) @php $assigned = $product['quantity'] ?? '—'; $used = $product['used'] ?? '0'; $usedNum = is_numeric($used) ? (float) $used : null; $assignedNum = is_numeric($assigned) ? (float) $assigned : null; $utilPct = ($assignedNum !== null && $assignedNum > 0 && $usedNum !== null) ? min(100, (int) round(($usedNum / $assignedNum) * 100)) : null; $utilHigh = $utilPct !== null && $utilPct >= 85; @endphp
  • {{ $product['name'] ?? '—' }}

    {{ $used }} / {{ $assigned }}

    @if ($utilPct !== null)
    $utilHigh]) style="width: {{ $utilPct }}%">
    $utilHigh, 'text-oah-muted' => ! $utilHigh, ])>{{ $utilPct }}%
    @endif
  • @endforeach
@else

No products on package

Edit client to add products.

@endif
@endforeach