@extends('layout.appdas') @section('title', 'Dashboard') @section('content') {{-- MASTER CARD: DASHBOARD PENGAWASAN & KINERJA --}}
{{-- 1. HEADER DASHBOARD --}}
Dashboard Pengawasan

Ringkasan statistik kinerja persuratan dan pemantauan berkas disposisi aktif.

@if(auth()->user()->hasPermission('surat')) Buat Surat Baru @endif @if(auth()->user()->hasPermission('daftar-disposisi')) Kotak Disposisi @endif
{{-- 2. GREETING & STATUS BANNER --}}
@if(str_contains(strtolower($greeting), 'pagi')) @elseif(str_contains(strtolower($greeting), 'siang')) @elseif(str_contains(strtolower($greeting), 'sore')) @else @endif
@if(auth()->user()->isAdmin()) {{ $greeting }} @else {{ $greeting }}, {{ auth()->user()->name }} @endif
@if(!auth()->user()->isAdmin()) {{ auth()->user()->role->nama_role }} @endif {{ auth()->user()->divisi->nama_divisi ?? 'Unit Kampus' }}
@if(!auth()->user()->hasPermission('surat')) Akses berkas surat dinonaktifkan. Administrator belum mengaktifkan izin kelola surat untuk akun Anda. @elseif($pendingDisposisi->count() > 0) Ada {{ $pendingDisposisi->count() }} surat disposisi yang memerlukan respon atau tindakan dari unit Anda. @else Semua disposisi lancar. Tidak ada antrean surat pending yang mendesak saat ini. @endif
{{ \Carbon\Carbon::now()->translatedFormat('l, d F Y') }}
{{-- 3. REKAP STATISTIK KPI CARDS --}}
{{-- Card 1: Total Berkas --}}
Total Berkas Terdata

{{ $totalSurat }}

{{-- Card 2: Surat Masuk --}}
Surat Masuk

{{ $suratMasuk }}

{{-- Card 3: Surat Keluar --}}
Surat Keluar

{{ $suratKeluar }}

{{-- Card 4: Surat Internal --}}
Dokumen Internal

{{ $suratInternal }}

{{-- 4. SPLIT LAYOUT 2-KOLOM (8:4) --}}
{{-- KOLOM UTAMA KIRI: ARSIP SURAT TERBARU (8/12) --}}
Arsip Surat Terbaru
Menampilkan arsip surat termutakhir di unit Anda
@if(auth()->user()->hasPermission('surat')) Kelola Semua @endif
{{-- SMART FILTER & PENCARIAN TERPADU --}}
{{-- Field Pencarian Keyword --}}
{{-- Dropdown Kategori --}}
{{-- Dropdown Jenis Surat --}}
{{-- Tombol Reset Filter --}}
{{-- TABEL DATA SURAT --}}
@forelse ($suratTerbaru as $index => $item) @empty @endforelse
No Nomor Surat Perihal Dokumen Jenis Surat Unit Pembuat Tanggal Aksi
{{ $index + $suratTerbaru->firstItem() }} {{ $item->nomor_surat }}
{{ $item->perihal }}
@php $rawJenis = strtolower($item->jenisSurat->nama_jenis ?? ''); $hasDisposisi = ($item->penerima_count ?? 0) > 0 || ($item->penerima && $item->penerima->where('is_cancelled', false)->isNotEmpty()); if ($item->divisi_id != auth()->user()->divisi_id) { $namaJenis = 'Masuk'; } elseif ($hasDisposisi || str_contains($rawJenis, 'keluar')) { $namaJenis = 'Keluar'; } elseif (str_contains($rawJenis, 'masuk')) { $namaJenis = 'Masuk'; } else { $namaJenis = 'Internal'; } @endphp @if($namaJenis === 'Masuk') Masuk @elseif($namaJenis === 'Keluar') Keluar @elseif($namaJenis === 'Internal') Internal @else {{ $namaJenis }} @endif {{ $item->divisi->nama_divisi ?? '-' }} {{ \Carbon\Carbon::parse($item->tanggal_surat)->translatedFormat('d M Y') }}
Tidak ada data berkas surat yang tersedia. @if(!auth()->user()->hasPermission('surat')) Akses menu kelola surat dinonaktifkan oleh Administrator. @endif
{{-- PAGINATION FOOTER --}}
{{ $suratTerbaru->links() }}
{{-- KOLOM WIDGET KANAN: DISPOSISI PERLU TINDAKAN & DISTRIBUSI ARSIP (4/12) --}}
{{-- WIDGET 1: DISPOSISI MENUNGGU TINDAKAN --}}
Disposisi Perlu Tindakan
{{ $pendingDisposisi->count() }} Menunggu
@if($pendingDisposisi->isEmpty())
Semua Surat Beres! Tidak ada antrean surat pending saat ini.
@else
@foreach($pendingDisposisi as $dispo)
@php $unitPengirim = $dispo->surat->divisi->nama_divisi ?? 'Unit Pengirim'; $perihalText = $dispo->surat->perihal ?? ($dispo->surat->nomor_surat ?? 'Disposisi Surat Masuk'); @endphp {{ $unitPengirim }} Pending
{{ $perihalText }}
{{ $dispo->created_at ? $dispo->created_at->diffForHumans() : 'Baru saja' }} Tindak Lanjuti
@endforeach
@endif @if(auth()->user()->hasPermission('daftar-disposisi')) Buka Seluruh Disposisi @endif
{{-- WIDGET 2: RINGKASAN DISTRIBUSI ARSIP DOKUMEN --}}
Distribusi Berkas Divisi
{{-- Multi-Segment Stacked Progress Bar --}}
{{-- Legend List --}}
Surat Masuk
{{ $suratMasuk }} ({{ $persenMasuk }}%)
Surat Keluar
{{ $suratKeluar }} ({{ $persenKeluar }}%)
Dokumen Internal
{{ $suratInternal }} ({{ $persenInternal }}%)
@endsection @push('scripts') @endpush