{{-- ═══ WELCOME BANNER ═══ --}}
{{ \Carbon\Carbon::now()->locale('id')->isoFormat('dddd, D MMMM Y') }}

Halo, {{ Str::words(auth()->user()->name, 2, '') }}! 👋

Selamat datang kembali. Mobilmu butuh perhatian hari ini?

Booking Sekarang
{{-- ═══ VOID BOOKING — AJUKAN REFUND ═══ --}} @if(isset($voidBookings) && $voidBookings->count() > 0)
@foreach($voidBookings as $vb)
Booking {{ $vb->booking_code }} Dinyatakan Hangus
Paket: {{ $vb->service->name }}  ·  Harga: {{ $vb->formatted_price }}  ·  Refund: {{ 'Rp '.number_format($vb->service_price*0.7,0,',','.') }} (70%)
@php $vbExpires = $vb->updated_at->copy()->addHours(24); @endphp
Batas ajukan refund: {{ $vbExpires->locale('id')->isoFormat('D MMM Y, HH:mm') }} ({{ $vbExpires->diffForHumans() }})
@endforeach
@endif {{-- ═══ STATS ═══ --}}
@php $statsData = [ ['value'=>$totalBookings, 'label'=>'Total Booking', 'icon'=>'fa-calendar-check', 'color'=>'#1E88E5', 'bg'=>'#E3F2FD'], ['value'=>$completedBookings, 'label'=>'Selesai', 'icon'=>'fa-circle-check', 'color'=>'#10B981', 'bg'=>'#ECFDF5'], ['value'=>$activeBookings->count(), 'label'=>'Aktif', 'icon'=>'fa-clock', 'color'=>'#F59E0B', 'bg'=>'#FFFBEB'], ['value'=>$services->count(), 'label'=>'Paket Tersedia', 'icon'=>'fa-car-side', 'color'=>'#8B5CF6', 'bg'=>'#F5F3FF'], ]; @endphp @foreach($statsData as $i => $s)
{{ $s['value'] }}
{{ $s['label'] }}
@endforeach
{{-- ═══ QUICK ACTIONS ═══ --}}
Aksi Cepat
@php $quickActions = [ ['href'=>route('customer.booking.create'), 'icon'=>'fa-calendar-plus', 'label'=>'Booking Baru', 'desc'=>'Pilih paket & jadwal', 'color'=>'#1E88E5'], ['href'=>route('customer.queue.index'), 'icon'=>'fa-list-check', 'label'=>'Cek Antrian', 'desc'=>'Status antrian kamu', 'color'=>'#10B981'], ['href'=>route('customer.payment.list'), 'icon'=>'fa-credit-card', 'label'=>'Pembayaran', 'desc'=>'Lihat status bayar', 'color'=>'#8B5CF6'], ['href'=>route('customer.history.index'), 'icon'=>'fa-clock-rotate-left', 'label'=>'Riwayat', 'desc'=>'Semua booking lalu', 'color'=>'#F59E0B'], ]; @endphp @foreach($quickActions as $i => $qa) @endforeach
{{-- ═══ MAIN GRID ═══ --}}
{{-- Active Bookings --}} {{-- Services --}}
Paket Layanan
Semua
@foreach($services as $service) @php $sColors = ['basic'=>['icon'=>'fa-droplet','color'=>'#1E88E5','bg'=>'#E3F2FD'],'premium'=>['icon'=>'fa-star','color'=>'#10B981','bg'=>'#ECFDF5'],'express'=>['icon'=>'fa-bolt','color'=>'#F59E0B','bg'=>'#FFFBEB']]; $sc = $sColors[$service->category] ?? $sColors['basic']; @endphp
{{ $service->name }}
{{ $service->formatted_duration }}
{{ $service->formatted_price }}
Pilih →
@endforeach
{{-- ═══ RECENT HISTORY ═══ --}} @if($recentHistory->count() > 0)
Riwayat Terbaru
Lihat semua
@foreach($recentHistory as $booking) @endforeach
Tanggal & Jam Paket Layanan Antrian Status Pembayaran
{{ $booking->schedule->date->locale('id')->isoFormat('D MMM Y') }}
{{ substr($booking->schedule->time_slot,0,5) }}
{{ $booking->service->name }}
{{ $booking->formatted_price }}
#{{ str_pad($booking->queue_number,2,'0',STR_PAD_LEFT) }}
@php $b = $booking->status_badge; @endphp {{ $b['label'] }} @if($booking->payment) @php $p = $booking->payment->status_badge; @endphp {{ $p['label'] }} @else Belum Bayar @endif
Detail {{-- Tombol refund pada riwayat terbaru di dashboard --}} @if($booking->status === 'void' && $booking->payment && $booking->payment->status === 'paid' && !$booking->refund && now()->lessThan($booking->updated_at->copy()->addHours(24))) Refund @elseif($booking->status === 'void' && $booking->refund) Status @endif
@endif