@props(['value', 'color' => null, 'label' => null]) {{-- Colour-coded badge for any status enum or string; `color` overrides it (e.g. an active SOS is red), `label` the text. --}} @php $value = $value instanceof \BackedEnum ? $value->value : (string) $value; $color ??= match ($value) { 'active', 'approved', 'completed', 'paid', 'resolved', 'online', 'returned' => 'emerald', 'pending', 'under_review', 'searching', 'scheduled', 'processing', 'open', 'in_progress', 'reported', 'high' => 'amber', 'accepted', 'arrived', 'started', 'acknowledged', 'awaiting_reply', 'driver_contacted', 'found' => 'blue', 'rejected', 'cancelled', 'banned', 'failed', 'expired', 'no_driver_found', 'urgent' => 'red', default => 'gray', }; $classes = [ 'emerald' => 'bg-emerald-50 text-emerald-700 ring-emerald-600/20 dark:bg-emerald-500/10 dark:text-emerald-300 dark:ring-emerald-500/20', 'amber' => 'bg-amber-50 text-amber-700 ring-amber-600/20 dark:bg-amber-500/10 dark:text-amber-300 dark:ring-amber-500/20', 'blue' => 'bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-500/10 dark:text-blue-300 dark:ring-blue-500/20', 'red' => 'bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-500/10 dark:text-red-300 dark:ring-red-500/20', 'gray' => 'bg-gray-100 text-gray-700 ring-gray-500/20 dark:bg-gray-800 dark:text-gray-300 dark:ring-gray-500/20', ][$color]; @endphp class("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ring-1 ring-inset {$classes}") }}> {{ $label ?? __(ucwords(str_replace('_', ' ', $value))) }}