Daftar Mata Pelajaran per Fase
@php $activePeriode = \App\Services\PeriodeService::getActive(); @endphp
@if($activePeriode)
@php
$isTarget = trim($activePeriode->tahun_pelajaran) === '2025/2026' && trim($activePeriode->semester) === 'Ganjil';
@endphp
Tahun Pelajaran: @if($isTarget){{ $activePeriode->tahun_pelajaran }}@else{{ $activePeriode->tahun_pelajaran }}@endif · Semester: @if($isTarget){{ $activePeriode->semester }}@else{{ $activePeriode->semester }}@endif
@else
Belum ada periode aktif
@endif
@php
$tingkatForFase = function($fase){
$f = strtoupper((string)$fase);
if($f === 'A') return '1 & 2';
if($f === 'B') return '3 & 4';
if($f === 'C') return '5 & 6';
return '-';
};
@endphp
| Fase |
Tingkat |
Kelas |
Urutan |
Mata Pelajaran |
Materi 1 |
Materi 2 |
Materi 3 |
Materi 4 |
Materi 5 |
Materi 6 |
Aksi |
@forelse($mataPelajarans ?? [] as $mp)
| {{ $mp->fase ?? ($mp['fase'] ?? '-') }} |
{{ $tingkatForFase($mp->fase ?? ($mp['fase'] ?? '-')) }} |
@if(is_array($mp->kelas ?? ($mp['kelas'] ?? null)) || (isset($mp->kelas) && $mp->kelas instanceof \Illuminate\Support\Collection))
@php
$list = collect($mp->kelas ?? ($mp['kelas'] ?? []))->map(function($k){ return $k->nama ?? ($k['nama'] ?? (string)$k); })->implode(', ');
@endphp
{{ $list }}
@else
{{ $mp->kelas->nama ?? ($mp->kelas ?? ($mp['kelas'] ?? '-')) }}
@endif
|
{{ $mp->urutan ?? ($mp['urutan'] ?? '-') }} |
{{ $mp->nama ?? ($mp['mata_pelajaran'] ?? ($mp['nama_mapel'] ?? '-')) }} |
{{ $mp->materi1 ?? ($mp['materi1'] ?? '-') }} |
{{ $mp->materi2 ?? ($mp['materi2'] ?? '-') }} |
{{ $mp->materi3 ?? ($mp['materi3'] ?? '-') }} |
{{ $mp->materi4 ?? ($mp['materi4'] ?? '-') }} |
{{ $mp->materi5 ?? ($mp['materi5'] ?? '-') }} |
{{ $mp->materi6 ?? ($mp['materi6'] ?? '-') }} |
|
@empty
| Tidak ada data mata pelajaran. |
@endforelse
@php
$kelasList = $kelas ?? \App\Models\Kelas::all();
// if current user is a guru, limit kelasList to kelas they own
try {
if(auth()->check() && optional(auth()->user())->role === 'guru'){
$guruId = auth()->id();
$kelasList = collect($kelasList)->filter(function($x) use($guruId){
return (isset($x->walikelas_id) && $x->walikelas_id == $guruId) || (isset($x['walikelas_id']) && $x['walikelas_id'] == $guruId);
})->values();
}
} catch (\Throwable $e) {}
$phases = collect($kelasList)->map(function($k){ return $k->fase ?? ($k['fase'] ?? null); })->filter()->unique()->values();
// defaults for guru (if any)
$defaultFase = null; $defaultTingkat = null; $defaultKelasId = null;
try {
if(auth()->check() && optional(auth()->user())->role === 'guru'){
$first = collect($kelasList)->first();
if($first){
$defaultFase = $first->fase ?? ($first['fase'] ?? null);
$defaultTingkat = $first->tingkat ?? ($first['tingkat'] ?? null);
$defaultKelasId = $first->id ?? ($first['id'] ?? null);
}
}
} catch (\Throwable $e) {}
@endphp
@push('scripts')
@endpush