@extends('layouts.admin') @section('title', 'Jadwal Pelajaran — SMKN 1 BOYOLANGU') @section('header_title', 'Jadwal Pelajaran') @section('header_subtitle', 'Kelola alokasi jadwal mata pelajaran per kelas secara visual dengan fitur Drag & Drop') @section('styles') @endsection @section('content') {{-- Toast Notification --}}
@if(session('success'))
{{ session('success') }}
@endif @if(session('error') || $errors->any())
{{ session('error') ?? $errors->first() }}
@endif
{{-- Top Control Bar --}}
{{-- Class Matriks Selector --}}
Pilih Kelas Matriks:
{{-- Tahun Ajaran Pill --}}
{{-- View Mode Switcher --}}
{{-- Add Schedule Button --}}
@if($viewMode === 'matrix') {{-- ==================== MODE 1: MATRIKS TIMETABLE PER KELAS ==================== --}} @if($selectedKelas) {{-- Class Banner Card --}}
Kelas {{ $selectedKelas->nama_kelas }}
Wali Kelas: {{ $selectedKelas->waliKelas->nama_lengkap ?? 'Belum ditentukan' }} @if($selectedKelas->jurusanRelation) • Jurusan {{ $selectedKelas->jurusanRelation->nama_jurusan }} @endif
{{ $totalMapelKelas }} Mapel Terjadwal ({{ $totalJamKelas }} Jam)
{{-- Mobile Swipe Hint --}}
Geser tabel ke kanan/kiri untuk melihat seluruh hari (Senin s/d Sabtu)
{{-- Timetable Matrix Grid --}}
@for($jam = 1; $jam <= 10; $jam++) {{-- Time Slot Header Column --}} {{-- Days Columns --}} @foreach(['Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'] as $hari) @endforeach {{-- Istirahat 1 Divider (After Jam 4) --}} @if($jam === 4) @endif {{-- Istirahat 2 / Dzuhur Divider (After Jam 7) --}} @if($jam === 7) @endif @endfor
Jam \ Hari Senin Selasa Rabu Kamis Jumat Sabtu
Jam {{ $jam }}
S-K: {{ $slotTimesSK[$jam]['jam_mulai'] ?? '07.00' }} - {{ $slotTimesSK[$jam]['jam_selesai'] ?? '07.40' }}
Jmt: {{ $slotTimesJmt[$jam]['jam_mulai'] ?? '07.00' }} - {{ $slotTimesJmt[$jam]['jam_selesai'] ?? '07.30' }}
@if(isset($matrixJadwal[$hari][$jam])) @php $j = $matrixJadwal[$hari][$jam]; @endphp {{-- Draggable Schedule Card (Redesigned Header + Full Width Title) --}}
{{-- Meta Bar: Code Badge + Action Buttons --}}
{{ $j->mapel->kode_mapel ?? 'MAPEL' }}
{{-- Full Width Mapel Title --}}
{{ $j->mapel->nama_mapel ?? '-' }}
{{-- Teacher Footer --}}
{{ $j->guru->nama_lengkap ?? 'Guru Belum Ditentukan' }}
@elseif($hari === 'Senin' && $jam === 1) {{-- Special Slot: Upacara / Pembiasaan --}}
☕ Jam ke-1
Upacara / Pembiasaan
@elseif($hari === 'Jumat' && $jam === 1) {{-- Special Slot: Pembiasaan Keagamaan / Senam --}}
☕ Jam ke-1
Dhuha / Senam Pagi
@else {{-- Empty Clickable & Droppable Slot --}}
Isi Slot
@endif
ISTIRAHAT 1 (09.40 — 09.55 WIB)
ISTIRAHAT 2 & SHOLAT DZUHUR (11.55 — 12.35 WIB)
@else

Belum ada data kelas yang tersedia

Silakan buat data kelas terlebih dahulu di menu Master Data > Kelas.

@endif @else {{-- ==================== MODE 2: TABEL SELURUH DATA JADWAL ==================== --}}
@if($search || $hari || $kelasFilter) Reset @endif
@forelse($jadwalList as $i => $j) @empty @endforelse
# Hari Jam Mata Pelajaran Guru Pengajar Kelas Aksi
{{ $jadwalList->firstItem() + $i }} {{ $j->hari }}
Jam {{ $j->jam_ke }}
{{ \Carbon\Carbon::parse($j->jam_mulai)->format('H:i') }} — {{ \Carbon\Carbon::parse($j->jam_selesai)->format('H:i') }}
{{ $j->mapel->nama_mapel ?? '-' }}
{{ $j->mapel->kode_mapel ?? '' }}
{{ $j->guru->nama_lengkap ?? '-' }}
Jam Ke-{{ $j->jam_ke }} {{ $j->mapel->nama_mapel ?? '-' }}
{{ strtoupper(substr($j->guru->nama_lengkap ?? 'G', 0, 1)) }}
{{ $j->guru->nama_lengkap ?? '-' }}
{{ $j->kelas->nama_kelas ?? '-' }}

Tidak ada data jadwal ditemukan

{{-- end table-responsive-wrap --}}
{{ $jadwalList->links() }}
@endif {{-- ==================== MODALS ==================== --}} {{-- Add / Edit Jadwal Modal --}} {{-- Atur Tahun Ajaran Modal --}} {{-- Delete Confirmation Modal --}} @endsection @section('scripts') @endsection