@extends('layouts.admin') @section('title', 'Dashboard Admin Rental') @section('page_title', 'Dashboard Admin Rental') @push('styles') @endpush @push('scripts') @endpush @section('content') @php $summaryCollection = collect($summary ?? []); $summaryValue = function (array $keys, string $default = '0') use ($summaryCollection): string { foreach ($keys as $key) { $match = $summaryCollection->first(function ($item) use ($key) { return isset($item['label']) && strcasecmp(trim((string) $item['label']), trim($key)) === 0; }); if ($match && array_key_exists('value', $match)) { return (string) $match['value']; } } return $default; }; $stats = [ ['label' => 'Kendaraan', 'value' => $summaryValue(['Kendaraan', 'Total Kendaraan']), 'hint' => 'Total armada aktif rental', 'icon' => 'bi-car-front'], ['label' => 'Customer', 'value' => $summaryValue(['Customer', 'Total Customer']), 'hint' => 'Customer yang pernah booking', 'icon' => 'bi-people'], ['label' => 'Total Booking', 'value' => $summaryValue(['Total Booking', 'Booking Aktif', 'Booking Hari Ini']), 'hint' => 'Seluruh booking rental', 'icon' => 'bi-journal-check'], ['label' => 'Booking Selesai', 'value' => $summaryValue(['Booking Selesai', 'Total Booking Selesai'], '-'), 'hint' => 'Booking berstatus completed', 'icon' => 'bi-check2-circle'], ['label' => 'Revenue', 'value' => $summaryValue(['Revenue', 'Pendapatan Verified Bulan Ini', 'Pendapatan']), 'hint' => 'Pendapatan transaksi valid', 'icon' => 'bi-cash-stack'], ['label' => 'Payment Verified', 'value' => $summaryValue(['Payment Verified', 'Payment Menunggu Verifikasi'], '-'), 'hint' => 'Pembayaran terverifikasi', 'icon' => 'bi-patch-check'], ['label' => 'Booking Pending', 'value' => $summaryValue(['Booking Pending', 'Pending Booking', 'Booking Aktif'], '-'), 'hint' => 'Booking menunggu proses', 'icon' => 'bi-hourglass-split'], ['label' => 'Promo Aktif', 'value' => $summaryValue(['Promo Aktif', 'Total Promo Aktif'], '-'), 'hint' => 'Promo sedang berjalan', 'icon' => 'bi-megaphone'], ]; $monthlyBookings = collect($monthlyBookings ?? []); $monthlyBookingLabels = $monthlyBookings->pluck('label')->values()->all(); $monthlyBookingValues = $monthlyBookings->pluck('value')->map(fn ($value) => (int) $value)->values()->all(); $hasMonthlyBookingData = collect($monthlyBookingValues)->contains(fn ($value) => $value > 0); $quickLinks = [ ['label' => 'Data Kendaraan', 'route' => route('admin-rental.vehicles.index'), 'icon' => 'bi-car-front', 'hint' => 'Kelola unit kendaraan'], ['label' => 'Data Booking', 'route' => route('admin-rental.bookings.index'), 'icon' => 'bi-journal-check', 'hint' => 'Monitoring booking'], ['label' => 'Data Pembayaran', 'route' => route('admin-rental.payments.index'), 'icon' => 'bi-wallet2', 'hint' => 'Verifikasi pembayaran'], ['label' => 'Data Customer', 'route' => route('admin-rental.customers.index'), 'icon' => 'bi-people', 'hint' => 'Daftar customer rental'], ['label' => 'Promo', 'route' => route('admin-rental.promos.index'), 'icon' => 'bi-megaphone', 'hint' => 'Atur promo aktif'], ['label' => 'Data Ulasan', 'route' => route('admin-rental.reviews.index'), 'icon' => 'bi-chat-left-text', 'hint' => 'Pantau ulasan pelanggan'], ['label' => 'Notifikasi', 'route' => route('notifications.index'), 'icon' => 'bi-bell', 'hint' => 'Notifikasi sistem'], ['label' => 'Laporan', 'route' => route('admin-rental.reports.index'), 'icon' => 'bi-graph-up-arrow', 'hint' => 'Laporan operasional'], ]; @endphp
AREA ADMIN RENTAL

Dashboard Admin Rental

Dashboard ini menampilkan ringkasan operasional rental untuk memantau armada, booking, pembayaran, promo, dan aktivitas bulanan secara cepat.

Statistik Utama

Susunan 2 row × 4 kartu agar data penting lebih cepat dipindai saat monitoring harian.

@foreach ($stats as $index => $card)

{{ $card['label'] }}

{{ $card['value'] }}

{{ $card['hint'] }}

@endforeach

Grafik Booking per Bulan

Tren booking 12 bulan terakhir untuk membantu evaluasi performa rental.

@if ($hasMonthlyBookingData)
@else

Belum ada data booking bulanan

Grafik akan otomatis tampil ketika data booking per bulan tersedia dari backend.

@endif

Akses Cepat

Arahkan ke menu operasional yang paling sering digunakan admin rental.

@endsection