@extends('layouts.app') @section('title', 'Dashboard') @section('content')
{{-- ══ HEADER ══ --}}

@if(Auth::user()->role === 'super_admin') Dashboard Admin @elseif(Auth::user()->role === 'auditor') Dashboard Auditor @else Dashboard Departemen @endif

Selamat datang, {{ Auth::user()->name }}!

{{-- Filter area: Rentang + Departemen/AuditType berdampingan --}}
{{-- Dropdown Rentang Bulan --}}
Rentang
{{-- Divider --}}
{{-- Dropdown Departemen / Audit Type --}} @if(in_array(Auth::user()->role, ['super_admin', 'auditor']))
Departemen
@else
Tipe Audit
@endif
{{-- ══ STAT CARDS (nilai diupdate JS saat ganti rentang) ══ --}}
@if(Auth::user()->role === 'super_admin')

Total Laporan

{{ $stats['total_reports'] }}

Menunggu

{{ $stats['pending'] }}

Diperbaiki

{{ $stats['completed'] }}

Disetujui

{{ $stats['approved'] }}

@elseif(Auth::user()->role === 'auditor')

Laporan Saya

{{ $stats['my_reports'] }}

Menunggu

{{ $stats['pending'] }}

Perlu Ditinjau

{{ $stats['need_review'] }}

Disetujui

{{ $stats['approved'] }}

@else

Ditugaskan

{{ $stats['assigned'] }}

Menunggu

{{ $stats['pending'] }}

Diperbaiki

{{ $stats['fixed'] }}

Disetujui

{{ $stats['approved'] }}

@endif
{{-- Label rentang aktif --}}
Menampilkan data {{ $rangeMonths }} bulan terakhir
{{-- ══ ROW 1: Pie (kiri) + Bar Status per Bulan (kanan) ══ --}}
{{-- Pie Chart --}}
Distribusi Status
@if(in_array(Auth::user()->role, ['super_admin', 'auditor'])) @if($departmentFilter === 'all') Semua Departemen @else {{ $departments->firstWhere('id', $departmentFilter)->name ?? '-' }} @endif @else @if($auditTypeFilter === 'all') Semua Tipe Audit @else {{ $auditTypes->firstWhere('id', $auditTypeFilter)->name ?? '-' }} @endif @endif
@php $pillData = [ ['label'=>'Diajukan', 'pct'=>$chartData['percentages'][0], 'val'=>$chartData['data'][0], 'color'=>'#3498db'], ['label'=>'Dalam Proses', 'pct'=>$chartData['percentages'][1], 'val'=>$chartData['data'][1], 'color'=>'#f39c12'], ['label'=>'Diperbaiki', 'pct'=>$chartData['percentages'][2], 'val'=>$chartData['data'][2], 'color'=>'#27ae60'], ['label'=>'Disetujui', 'pct'=>$chartData['percentages'][3], 'val'=>$chartData['data'][3], 'color'=>'#9b59b6'], ]; @endphp @foreach($pillData as $pill)
{{ $pill['label'] }}
{{ $pill['val'] }} {{ $pill['pct'] }}%
@endforeach
{{-- Bar Status per Bulan — TIDAK ada dropdown rentang sendiri, ikut global --}}
Status Laporan per Bulan
{{ $rangeMonths }} bulan terakhir
{{-- Mini summary pills status --}}
@php $n = $rangeMonths; $sD = array_sum(array_slice($monthlyStatusData['diajukan'], -$n)); $sP = array_sum(array_slice($monthlyStatusData['dalam_proses'],-$n)); $sF = array_sum(array_slice($monthlyStatusData['diperbaiki'], -$n)); $sA = array_sum(array_slice($monthlyStatusData['disetujui'], -$n)); @endphp Diajukan: {{ $sD }} Proses: {{ $sP }} Diperbaiki: {{ $sF }} Disetujui: {{ $sA }}
Diajukan Dalam Proses Diperbaiki Disetujui
{{-- ══ ROW 2: Bar Total Laporan per Bulan ══ --}}
Laporan per Bulan
{{ $rangeMonths }} bulan terakhir
@php $slicedData = array_slice($monthlyChartData['data'], -$rangeMonths); $mTotal = array_sum($slicedData); $mMax = count($slicedData) > 0 ? max($slicedData) : 0; $mAvg = $mTotal > 0 ? round($mTotal / $rangeMonths, 1) : 0; $mPeakIdx = $mMax > 0 ? array_search($mMax, $slicedData) : false; $slicedLbls = array_slice($monthlyChartData['labels'], -$rangeMonths); $mPeakLabel = $mPeakIdx !== false ? ($slicedLbls[$mPeakIdx] ?? '-') : '-'; @endphp Total: {{ $mTotal }} Tertinggi: {{ $mMax }} Rata-rata: {{ $mAvg }}
Puncak: {{ $mPeakLabel }} ({{ $mMax }} laporan)
{{-- ══ RECENT REPORTS ══ --}}
Laporan Terbaru
Lihat Semua
@if($recentReports->count() > 0)
@if(in_array(Auth::user()->role, ['super_admin', 'auditor'])) @else @endif @foreach($recentReports as $report) @if(in_array(Auth::user()->role, ['super_admin', 'auditor'])) @else @endif @endforeach
DepartemenTipe AuditJenis Masalah Lokasi Status Tanggal Aksi
{{ $report->department->name }}{{ $report->auditType->name }}{{ Str::limit($report->issue_type, 35) }} {{ Str::limit($report->location, 28) }} {!! $report->status_badge !!} {{ $report->created_at->format('d M Y') }}
@else

Belum ada laporan

@endif
@push('styles') @endpush @endsection