@extends('layout.index') @section('title', 'Dashboard - SIAPN KARANGANYAR') @push('styles') {{-- ============================================================ DESIGN SYSTEM 2026 — PREMIUM GREEN EDITION ============================================================ --}} @endpush @section('content')
{{-- ============================================================ PAGE HEADER — KONSISTEN DENGAN HALAMAN LAIN ============================================================ --}} {{-- ============================================================ DASHBOARD — SUPER ADMIN ============================================================ --}} @if($user->role === 'super_admin') {{-- SUMMARY CARDS (6) --}}
Total Anggota
{{ $data['total_anggota'] ?? 0 }}
Aktif
{{ $data['aktif'] ?? 0 }}
Anggota Baru
{{ $data['baru'] ?? 0 }}
Jumlah PAC
{{ $data['total_pac'] ?? 0 }}
Kode
{{ $data['total_pengesahan'] ?? 0 }}
Blangko
{{ $data['total_blanko'] ?? 0 }}
{{-- CHARTS ROW (Line + Bar + Donut) --}}
Anggota Baru per Bulan
@if(!empty($data['chart_bulan_labels']) && !empty($data['chart_bulan_data'])) @else
Belum ada data anggota baru
@endif
Anggota Aktif per PAC
@if(!empty($data['chart_aktif_pac_labels']) && !empty($data['chart_aktif_pac_data'])) @else
Belum ada data aktif per PAC
@endif
Persentase Status
@if(!empty($data['chart_donut_data']) && array_sum($data['chart_donut_data']) > 0) @else
Belum ada data status
@endif
{{-- REKAP PER PAC + RECENT ACTIVITY (2 column) --}}
Rekap Anggota per PAC
{{-- INPUT PENCARIAN (sebelumnya hilang) --}}
@forelse($data['rekap_pac'] as $pac) @empty @endforelse
# Nama PAC Total Baru Aktif Persentase
{{ $loop->iteration }} {{ $pac->nama_pac }} {{ $pac->total }} {{ $pac->baru_count }} {{ $pac->aktif_count }}
{{ round($pac->persen, 1) }}%
Belum ada data PAC.
Menampilkan {{ $data['rekap_pac']->firstItem() ?? 0 }} - {{ $data['rekap_pac']->lastItem() ?? 0 }} dari {{ $data['rekap_pac']->total() }} PAC
{{ $data['rekap_pac']->links('pagination::bootstrap-5') }}
Aktivitas Terbaru
@forelse($data['recent_anggota'] as $anggota)
{{ strtoupper(substr($anggota->nama, 0, 1)) }}
{{ $anggota->nama }}
{{ $anggota->id_anggota }} {{ $anggota->pac->nama_pac ?? '-' }} {{ $anggota->created_at->format('d/m/Y') }}
{{ $anggota->status }}
@empty
Belum ada aktivitas.
@endforelse
{{-- ANGGOTA BARU (Status Baru) beserta PAC --}} @php $anggotaBaru = $data['recent_anggota']->filter(function($item) { return $item->status === 'Baru'; }); @endphp @if($anggotaBaru->count() > 0)
Anggota Baru (Status Baru)
@foreach($anggotaBaru as $index => $item) @endforeach
# Nama ID Anggota PAC Tanggal Daftar Status
{{ $index+1 }} {{ $item->nama }} {{ $item->id_anggota }} {{ $item->pac->nama_pac ?? '-' }} {{ $item->created_at->format('d/m/Y') }} Baru
@endif {{-- ============================================================ DASHBOARD — SEKRETARIS PAC ============================================================ --}} @elseif($user->role === 'sekretaris_pac') {{-- SUMMARY CARDS (4) --}}
Total Anggota
{{ $data['total_anggota_pac'] ?? 0 }}
Baru
{{ $data['baru_pac'] ?? 0 }}
Aktif
{{ $data['aktif_pac'] ?? 0 }}
Blangko
{{ $data['total_blanko'] ?? 0 }}
{{-- CHARTS (2 columns) --}}
Anggota Baru Bulan Ini
@if(!empty($data['chart_bulan_labels_sekretaris']) && !empty($data['chart_bulan_data_sekretaris'])) @else
Belum ada data anggota baru
@endif
Status Anggota
@if(!empty($data['chart_donut_data_sekretaris']) && array_sum($data['chart_donut_data_sekretaris']) > 0) @else
Belum ada data status
@endif
{{-- RECENT ACTIVITY (full width) --}}
Anggota Terbaru
@forelse($data['recent_anggota_pac'] as $anggota)
{{ strtoupper(substr($anggota->nama, 0, 1)) }}
{{ $anggota->nama }}
{{ $anggota->id_anggota }} {{ $anggota->created_at->format('d/m/Y') }}
{{ $anggota->status }}
@empty
Belum ada anggota terdaftar di PAC ini.
@endforelse
@endif
{{-- ============================================================ SCRIPTS — Chart.js & Clock & Search ============================================================ --}} @push('scripts') @endpush @endsection