@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)
Kelas Binaan
{{ $kelas->nama_kelas }} — {{ $kelas->jurusan }}
@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 --}}
Total Siswa
{{ $totalSiswa }}
{{-- Card 2: Kehadiran Hari Ini --}}
Hadir Hari Ini
{{ $hadirCount }}
{{-- Card 3: Izin & Sakit --}}
Izin & Sakit
{{ $sakitCount + $izinCount }}
{{-- Card 4: Alpha / Tanpa Ket --}}
Alpha / Tanpa Ket.
{{ $alphaCount }}
{{-- Card 5: Jurnal Mengajar Terisi --}}
Jurnal 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.
Lihat & Tindak Lanjuti
@endif {{-- Middle Charts Grid --}}
{{-- Chart 1: Tren Kehadiran --}}
Tren Kehadiran Siswa (7 Hari Terakhir)
Fluktuasi kehadiran siswa di kelas {{ $kelas->nama_kelas }}
{{-- Chart 2: Komposisi Bulan Ini --}}
Komposisi Presensi Bulan Ini
Distribusi status kehadiran siswa
{{-- 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