@props([ 'requests' => collect(), 'title' => 'Documents', 'emptyMessage' => 'No documents found.', 'statusFilterMap' => [], 'statusResolver' => null, 'viewerRouteView' => null, 'showCreateRequestLink' => false, 'showUnreadFilter' => true, 'highlightAnyOverdue' => false, 'rowHighlightResolver' => null, ]) @php $documentRequests = collect($requests); $statusOptions = array_keys($statusFilterMap ?? []); $documentTypeOptions = $documentRequests ->map(function ($request) { $label = trim((string) ($request->document_type_label ?? '')); if ($label === '') { $label = trim((string) ($request->document_type ?? '')); } return $label !== '' ? $label : __('N/A'); }) ->unique() ->sort() ->values(); $resolveDashboardStatus = $statusResolver instanceof \Closure ? $statusResolver : fn ($request) => [ 'label' => ucfirst((string) ($request->status ?? 'pending')), 'badge' => 'bg-secondary-subtle text-secondary', 'title' => ucfirst((string) ($request->status ?? 'pending')), ]; @endphp