@extends('layouts.app') @section('title', 'Dashboard Admin Kabupaten') @section('content') @php $fmt = fn ($n) => number_format((float) $n, 0, ',', '.'); $rp = fn ($n) => 'Rp ' . number_format((float) $n, 0, ',', '.'); $pendapatanPersen = $revenue['total_tagihan'] > 0 ? (int) round($revenue['terbayar'] / $revenue['total_tagihan'] * 100) : 0; $chartData = [ 'gauges' => [ ['key' => 'pkbm', 'label' => 'Lembaga PKBM', 'value' => (int) $stats['pkbm'], 'color' => '#2563eb'], ['key' => 'siswa', 'label' => 'Peserta Didik Aktif', 'value' => (int) $stats['siswa'], 'color' => '#10b981'], ['key' => 'guru', 'label' => 'Tenaga Pendidik', 'value' => (int) $stats['guru'], 'color' => '#f59e0b'], ['key' => 'pending', 'label' => 'Menunggu Verifikasi', 'value' => (int) $stats['pending'], 'color' => '#f43f5e'], ], 'trend' => $registrationTrend, 'distribution' => $studentsPerPkbm->take(10)->map(fn ($r): array => [ 'label' => $r->nama_pkbm, 'siswa' => (int) $r->jumlah, ])->values(), 'teachers' => $teachersPerPkbm->take(10)->map(fn ($r): array => [ 'label' => $r->nama_pkbm, 'guru' => (int) $r->jumlah, ])->values(), 'revenue' => [ 'terbayar' => (float) $revenue['terbayar'], 'tunggakan' => (float) $revenue['tunggakan'], ], ]; // Gabungkan label lembaga untuk diagram batang siswa vs guru. $distLabels = $chartData['distribution']->pluck('label')->values(); $teacherMap = $chartData['teachers']->pluck('guru', 'label'); $chartData['distributionLabels'] = $distLabels; $chartData['distributionSiswa'] = $chartData['distribution']->pluck('siswa')->values(); $chartData['distributionGuru'] = $distLabels->map(fn ($l) => (int) ($teacherMap[$l] ?? 0))->values(); @endphp

Admin KabupatenDashboard

Dashboard Forum PKBM

Pusat kendali lembaga, peserta didik, pendidik, dan pendapatan satu wilayah.

Lembaga binaan {{ $fmt($stats['pkbm']) }} PKBM aktif
{{-- Statistik keseluruhan: ring gauge seperti dashboard profesional --}}

Statistik Keseluruhan

Ringkasan ekosistem SmartPenF di wilayah Anda

{{ now()->locale('id')->translatedFormat('d M Y') }}
@foreach ($chartData['gauges'] as $gauge)

{{ $gauge['label'] }}

@endforeach
{{-- Kartu statistik ringkas --}}
@foreach ([ ['label' => 'Total Lembaga', 'value' => $stats['pkbm'], 'detail' => 'PKBM terverifikasi', 'icon' => 'bi-buildings', 'tone' => 'blue'], ['label' => 'Peserta Didik Aktif', 'value' => $stats['siswa'], 'detail' => 'Status aktif tahun berjalan', 'icon' => 'bi-people-fill', 'tone' => 'emerald'], ['label' => 'Tenaga Pendidik', 'value' => $stats['guru'], 'detail' => 'Guru di semua lembaga', 'icon' => 'bi-person-workspace', 'tone' => 'amber'], ['label' => 'Menunggu Verifikasi', 'value' => $stats['pending'], 'detail' => 'Pendaftaran baru', 'icon' => 'bi-hourglass-split', 'tone' => 'violet'], ] as $stat)
$stat['tone'] === 'blue', 'pkbm-stat-card--emerald' => $stat['tone'] === 'emerald', 'pkbm-stat-card--amber' => $stat['tone'] === 'amber', 'pkbm-stat-card--violet' => $stat['tone'] === 'violet', ])>

{{ $stat['label'] }}

{{ $fmt($stat['value']) }}

{{ $stat['detail'] }}

@endforeach
{{-- Pendapatan & tagihan + kartu sorotan biru --}}

Total Pendapatan & Tagihan

Realisasi langganan & maintenance lembaga

Total Pendapatan

{{ $rp($revenue['terbayar']) }}

Sisa Tagihan

{{ $rp($revenue['tunggakan']) }}

Tagihan lunas{{ $fmt($revenue['lunas']) }}
Tagihan aktif{{ $fmt($revenue['aktif']) }}
Total tertagih{{ $rp($revenue['total_tagihan']) }}
{{-- Kartu sorotan biru (Daily Sales style) --}}

Pendapatan Berlangganan

{{ now()->locale('id')->translatedFormat('F Y') }}

{{ $rp($revenue['terbayar']) }}

{{ $pendapatanPersen }}% tagihan telah terlunasi

{{-- Tren pendaftaran peserta didik --}}

Tren Peserta Didik Aktif

Peserta didik berstatus aktif yang terdaftar per bulan, 12 bulan terakhir

{{-- Sebaran siswa vs guru per lembaga --}}

Sebaran Lembaga Terbesar

Perbandingan peserta didik dan pendidik pada 10 lembaga teratas

{{-- Tabel sorotan lembaga --}}

Lembaga dengan Peserta Didik Terbanyak

Sorotan 8 lembaga teratas

Semua Lembaga
@forelse ($institutionList as $pkbm) @empty @endforelse
Rank Nama PKBM Peserta Didik
{{ $loop->iteration }} {{ $pkbm->nama_pkbm }} {{ $fmt($pkbm->jumlah) }}
Belum ada data siswa.
@endsection @push('scripts') @endpush