{{-- resources/views/santri/pelanggaran/index.blade.php --}} @extends('layouts.app') @section('title', 'Riwayat Pelanggaran') @section('content') {{-- ===== ALERT PERINGATAN ===== --}} @php $tingkatPoin = ''; $warnaPoin = ''; if ($totalPoin >= 50) { $tingkatPoin = 'Berat'; $warnaPoin = 'var(--danger-color)'; } elseif ($totalPoin >= 20) { $tingkatPoin = 'Sedang'; $warnaPoin = '#e67e22'; } elseif ($totalPoin > 0) { $tingkatPoin = 'Ringan'; $warnaPoin = 'var(--warning-color)'; } @endphp @if($totalPoin >= 50)
⚠️ Perhatian! Akumulasi poin Anda sudah tinggi ({{ $totalPoin }} poin)
Harap segera hubungi pengurus pondok untuk konsultasi dan penyelesaian kafaroh yang ada.
@elseif($totalPoin >= 20)
Catatan: Poin pelanggaran Anda mulai bertambah ({{ $totalPoin }} poin)
Jaga perilaku dan taati peraturan pondok agar poin tidak terus bertambah.
@endif {{-- ===== STATISTIK CARDS ===== --}}

Total Pelanggaran

{{ $totalPelanggaran }}

Sepanjang waktu

Total Poin

{{ $totalPoin }}

@if($tingkatPoin) Tingkat: {{ $tingkatPoin }} @else Belum ada poin @endif

Bulan Ini

{{ $pelanggaranBulanIni }}

{{ \Carbon\Carbon::now()->isoFormat('MMMM YYYY') }}

{{-- ===== VISUALISASI POIN ===== --}} @if($totalPoin > 0)

Akumulasi Poin Pelanggaran

Batas perhatian: 20 poin | Batas berat: 50 poin
{{-- Progress Bar Poin --}} @php $maxPoin = max(50, $totalPoin); // skala dinamis $persenBar = min(100, round(($totalPoin / $maxPoin) * 100)); if ($totalPoin < 20) { $colorBar = 'var(--success-color)'; } elseif ($totalPoin < 50) { $colorBar = '#e67e22'; } else { $colorBar = 'var(--danger-color)'; } @endphp
{{-- Marker 20 poin --}}
{{-- Marker 50 poin --}} @if($maxPoin >= 50)
@endif
{{ $totalPoin }} poin
0 20 @if($maxPoin >= 50)50+@endif
@endif {{-- ===== FILTER ===== --}}
Reset Bulan Ini
Kategori & Poin Pembinaan & Sanksi
{{-- ===== TABEL RIWAYAT ===== --}}

Daftar Riwayat Pelanggaran

@if(request()->hasAny(['tanggal_mulai', 'tanggal_selesai', 'bulan_ini'])) Filter aktif — {{ $riwayat->total() }} data @endif
@if($riwayat->count() > 0)
@foreach($riwayat as $index => $item) @endforeach
No ID Tanggal Jenis Pelanggaran Poin Keterangan Aksi
{{ $riwayat->firstItem() + $index }} {{ $item->id_riwayat }}
{{ \Carbon\Carbon::parse($item->tanggal)->isoFormat('D MMM YYYY') }}
{{ $item->kategori->nama_pelanggaran ?? '-' }} @if($item->kategori && $item->kategori->id_kategori)
{{ $item->kategori->id_kategori }} @endif
@php $poin = $item->poin; @endphp {{ $poin }} @if($item->keterangan)
{{ $item->keterangan }}
@else Tidak ada keterangan @endif
Detail
{{-- Pagination --}}

Menampilkan {{ $riwayat->firstItem() }}-{{ $riwayat->lastItem() }} dari {{ $riwayat->total() }} data

{{ $riwayat->links() }}
@else

Tidak Ada Riwayat Pelanggaran

@if(request()->hasAny(['tanggal_mulai', 'tanggal_selesai', 'bulan_ini']))

Tidak ditemukan data dengan filter yang dipilih.

Hapus Filter @else

Alhamdulillah, Anda belum memiliki catatan pelanggaran. Pertahankan!

@endif
@endif
{{-- ===== INFO ANALISIS JIKA ADA DATA ===== --}} @if($totalPelanggaran > 0)

Ringkasan Analisis

{{ $totalPelanggaran > 0 ? number_format($totalPoin / $totalPelanggaran, 1) : 0 }}

Rata-rata Poin/Pelanggaran

@if($totalPoin >= 50) Berat @elseif($totalPoin >= 20) Sedang @else Ringan @endif

Tingkat Pelanggaran

@if($riwayat->first()) {{ \Carbon\Carbon::parse($riwayat->first()->tanggal)->isoFormat('D MMM YYYY') }} @else — @endif

Pelanggaran Terakhir

{{ $pelanggaranBulanIni }}

Pelanggaran Bulan Ini

@endif @endsection