81 lines
3.7 KiB
PHP
81 lines
3.7 KiB
PHP
<div class="space-y-8">
|
|
<div>
|
|
<flux:heading size="xl">Ikhtisar Dasbor</flux:heading>
|
|
<flux:subheading>Selamat datang kembali, berikut ringkasan sistem hari ini.</flux:subheading>
|
|
</div>
|
|
|
|
{{-- Stats Grid --}}
|
|
<div class="gap-4 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4">
|
|
<flux:card class="flex flex-col gap-2">
|
|
<flux:text class="text-zinc-500">Total Pasien</flux:text>
|
|
<flux:heading size="xl">{{ $stats['total_patients'] }}</flux:heading>
|
|
</flux:card>
|
|
|
|
<flux:card class="flex flex-col gap-2">
|
|
<flux:text class="text-zinc-500">Janji Temu Hari Ini</flux:text>
|
|
<flux:heading size="xl" class="text-blue-600">{{ $stats['today_appointments'] }}</flux:heading>
|
|
</flux:card>
|
|
|
|
<flux:card class="flex flex-col gap-2">
|
|
<flux:text class="text-zinc-500">Total Dokter</flux:text>
|
|
<flux:heading size="xl">{{ $stats['total_doctors'] }}</flux:heading>
|
|
</flux:card>
|
|
|
|
<flux:card class="flex flex-col gap-2">
|
|
<flux:text class="text-zinc-500">Berita Dipublish</flux:text>
|
|
<flux:heading size="xl">{{ $stats['published_news'] }}</flux:heading>
|
|
</flux:card>
|
|
</div>
|
|
|
|
<div class="gap-8 grid grid-cols-1 lg:grid-cols-3">
|
|
{{-- Antrean Terbaru --}}
|
|
<div class="space-y-4 lg:col-span-2">
|
|
<div class="flex justify-between items-center">
|
|
<flux:heading>Antrean Perlu Diproses</flux:heading>
|
|
<flux:button href="{{ route('admin.antrean') }}" size="sm" variant="ghost">Lihat Semua</flux:button>
|
|
</div>
|
|
|
|
<flux:table>
|
|
<flux:table.columns>
|
|
<flux:table.column>No. Antrean</flux:table.column>
|
|
<flux:table.column>Pasien</flux:table.column>
|
|
<flux:table.column>Layanan</flux:table.column>
|
|
<flux:table.column>Status</flux:table.column>
|
|
</flux:table.columns>
|
|
|
|
<flux:table.rows>
|
|
@forelse($recentAppointments as $app)
|
|
<flux:table.row>
|
|
<flux:table.cell class="font-bold">#{{ $app->queue_number }}</flux:table.cell>
|
|
<flux:table.cell>{{ $app->patient->name }}</flux:table.cell>
|
|
<flux:table.cell>{{ $app->serviceCategory->name }}</flux:table.cell>
|
|
<flux:table.cell>
|
|
<flux:badge color="warning" size="sm" inset="top bottom">{{ $app->status }}</flux:badge>
|
|
</flux:table.cell>
|
|
</flux:table.row>
|
|
@empty
|
|
<flux:table.row>
|
|
<flux:table.cell colspan="4" class="py-4 text-zinc-400 text-center">Tidak ada antrean hari ini.</flux:table.cell>
|
|
</flux:table.row>
|
|
@endforelse
|
|
</flux:table.rows>
|
|
</flux:table>
|
|
</div>
|
|
|
|
{{-- Berita Terpopuler --}}
|
|
<div class="space-y-4">
|
|
<flux:heading>Berita Terpopuler</flux:heading>
|
|
<div class="space-y-3">
|
|
@foreach($popularNews as $news)
|
|
<div class="flex items-center gap-3 p-3 border border-zinc-200 dark:border-zinc-700 rounded-lg">
|
|
<div class="flex-1 min-w-0">
|
|
<p class="font-medium text-sm truncate">{{ $news->title }}</p>
|
|
<p class="text-zinc-500 text-xs">{{ $news->view_count }} views</p>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|