@props(['kpis' => [], 'asOf' => now()->toDateString()]) @php $fast = (bool) ($kpis['fast'] ?? false); $cards = [ ['label' => "Today's Expected", 'value' => $kpis['today_expected'] ?? 0, 'route' => 'loan.book.collections.due_today', 'params' => ['date' => $asOf], 'fast' => true], ['label' => "Today's Collected", 'value' => $kpis['today_collected'] ?? 0, 'route' => 'loan.book.collections.register', 'params' => ['from' => $asOf, 'to' => $asOf], 'fast' => true], ['label' => "Today's Outstanding", 'value' => $kpis['today_outstanding'] ?? 0, 'route' => 'loan.book.collections.due_today', 'params' => ['date' => $asOf], 'fast' => true], ['label' => 'Past Due Outstanding', 'value' => $kpis['past_due_outstanding'] ?? 0, 'route' => 'loan.book.collections.past_due', 'fast' => false], ['label' => 'Loan Arrears', 'value' => $kpis['loan_arrears'] ?? 0, 'route' => 'loan.book.loan_arrears', 'fast' => false], ['label' => 'Active Collection Cases', 'value' => $kpis['active_collection_cases'] ?? 0, 'route' => 'loan.book.collections.workflow.index', 'format' => 'number', 'fast' => false], ['label' => 'Broken PTP', 'value' => $kpis['broken_ptp'] ?? 0, 'route' => 'loan.book.collections.ptp.index', 'params' => ['filter' => 'broken'], 'format' => 'number', 'fast' => false], ['label' => 'Collectors Working', 'value' => $kpis['collectors_working'] ?? 0, 'route' => 'loan.book.collections.hub.dashboard', 'params' => ['date' => $asOf], 'format' => 'number', 'fast' => false], ['label' => 'Month To Date Collection', 'value' => $kpis['mtd_collection'] ?? 0, 'route' => 'loan.book.collections.mtd', 'fast' => true], ['label' => 'Collection Rate', 'value' => $kpis['collection_rate'] ?? 0, 'route' => 'loan.book.collections.mtd', 'format' => 'percent', 'fast' => false], ]; if ($fast) { $cards = array_values(array_filter($cards, static fn (array $card): bool => ($card['fast'] ?? false) === true)); } @endphp @foreach ($cards as $card) @php $formattedValue = match ($card['format'] ?? 'money') { 'number' => number_format((float) $card['value'], 0), 'percent' => number_format((float) $card['value'], 1).'%', default => 'KES '.number_format((float) $card['value'], 0), }; @endphp @endforeach