@extends('layouts.wali_kelas')
@section('title', 'Dashboard Wali Kelas - SMKN 1 BOYOLANGU')
@section('header_title', 'Dashboard Wali Kelas')
@section('header_subtitle', 'Pantau kehadiran harian siswa & jurnal pembelajaran kelas binaan')
@section('header_extra')
@if($kelas)
@endif
@endsection
@section('styles')
@endsection
@section('content')
@if(!$kelas)
{{-- No class assigned state --}}
Belum Ada Kelas Binaan Ditugaskan
Akun Anda belum terhubung dengan kelas binaan manapun. Hubungi administrator sekolah untuk menetapkan kelas binaan Anda.
@if(Auth::user()->role === 'admin')
Kelola Data Kelas & Wali Kelas
@endif
@else
{{-- Greeting & Identity Card --}}
Selamat Datang, {{ $waliKelas->nama_lengkap ?? Auth::user()->name }}!
Wali Kelas {{ $kelas->nama_kelas }} — Jurusan {{ $kelas->jurusan }}
{{ $tahunAjaranAktif->nama ?? '2024/2025' }} ({{ $tahunAjaranAktif->semester ?? 'Ganjil' }})
{{ $todayFormatted }}
@if(Auth::user()->role === 'admin' && count($allKelasList) > 1)
@endif
{{-- Top 5 KPI Cards --}}
{{-- Card 1: Total Siswa --}}
{{-- Card 2: Kehadiran Hari Ini --}}
{{-- Card 3: Izin & Sakit --}}
{{ $sakitCount + $izinCount }}
{{-- Card 4: Alpha / Tanpa Ket --}}
{{-- Card 5: Jurnal Mengajar Terisi --}}
{{ $totalJurnalHariIni }}
{{-- Critical Alert Section: Siswa Perlu Perhatian --}}
@if($siswaPerluPerhatian->count() > 0)
{{ $siswaPerluPerhatian->count() }} Siswa Perlu Perhatian Khusus (Sering Alpha)
Terdapat siswa di kelas {{ $kelas->nama_kelas }} dengan akumulasi $\ge 2$ kali Alpha dalam 30 hari terakhir.
@endif
{{-- Middle Charts Grid --}}
{{-- Chart 1: Tren Kehadiran --}}
{{-- Chart 2: Komposisi Bulan Ini --}}
{{-- Bottom Two Column Section --}}
{{-- Left: Aktivitas Jurnal Mengajar Hari Ini --}}
Jurnal Mengajar Guru di Kelas Hari Ini
{{ $todayJurnals->count() }} Sesi Terisi
@forelse($todayJurnals as $j)
{{ $j->jam_ke ?? 'Jam Pelajaran' }} ({{ \Carbon\Carbon::parse($j->jam_mulai)->format('H:i') }} - {{ \Carbon\Carbon::parse($j->jam_selesai)->format('H:i') }})
{{ $j->jumlah_siswa_hadir }} Hadir
{{ $j->mapel->nama_mapel ?? 'Mata Pelajaran' }}
{{ $j->guru->nama_lengkap ?? '-' }}
@if($j->materi)
Materi: {{ $j->materi }}
@endif
@if($j->catatan)
Catatan Guru: {{ $j->catatan }}
@endif
@empty
Belum ada jurnal mengajar yang diisi oleh guru hari ini.
@endforelse
{{-- Right: Siswa Tidak Hadir Hari Ini --}}
Siswa Tidak Hadir Hari Ini
{{ $siswaTidakMasukToday->count() }} Siswa
@forelse($siswaTidakMasukToday as $p)
{{ strtoupper(substr($p->siswa->nama_lengkap ?? 'S', 0, 1)) }}
{{ $p->siswa->nama_lengkap ?? 'Siswa' }}
NISN: {{ $p->siswa->nisn ?? '-' }}
@if($p->keterangan)
• "{{ $p->keterangan }}"
@endif
@if($p->status === 'Sakit')
Sakit
@elseif($p->status === 'Izin')
Izin
@elseif($p->status === 'Alpha')
Alpha
@else
Dispensasi
@endif
@if(!empty($p->siswa->no_hp_ortu))
@php
$phone = preg_replace('/[^0-9]/', '', $p->siswa->no_hp_ortu);
if (str_starts_with($phone, '0')) {
$phone = '62' . substr($phone, 1);
}
$msg = urlencode("Halo Bapak/Ibu Wali Murid dari ananda {$p->siswa->nama_lengkap}, kami dari pihak Wali Kelas {$kelas->nama_kelas} SMKN 1 Boyolangu ingin mengonfirmasi kehadiran siswa pada hari ini ({$p->status}). Terima kasih.");
@endphp
@endif
@empty
Luar biasa! Seluruh siswa hadir hari ini.
@endforelse
@endif
@endsection
@section('scripts')
@if($kelas)
@endif
@endsection