MIF_E31222596/website/resources/views/guru/absensis/create.blade.php

117 lines
6.7 KiB
PHP

<x-guru-layout>
<x-slot name="header">
<h2 class="text-3xl font-bold text-gray-800 mb-2">Input Absensi</h2>
<p class="text-gray-600">Masukkan data kehadiran santri untuk tanggal yang dipilih</p>
</x-slot>
<form action="{{ route('guru.absensis.store') }}" method="POST">
@csrf
<!-- Form Controls -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Tanggal</label>
<input type="date" name="tanggal"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-colors"
value="{{ old('tanggal', $tanggal ?? '') }}" required>
@error('tanggal')
<div class="text-red-600 text-sm mt-1">{{ $message }}</div>
@enderror
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Kelas</label>
<select name="kelas_id"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-colors"
required onchange="this.form.submit()">
<option value="">Pilih Kelas</option>
@foreach($kelas as $k)
<option value="{{ $k->id }}" {{ old('kelas_id', $kelasId ?? '') == $k->id ? 'selected' : '' }}>
{{ $k->nama_kelas }}</option>
@endforeach
</select>
@error('kelas_id')
<div class="text-red-600 text-sm mt-1">{{ $message }}</div>
@enderror
</div>
</div>
<!-- Data Table -->
@if(isset($santris) && $santris->count())
<div class="bg-gray-50 rounded-xl p-6 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-4">Data Santri</h3>
<div class="bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden">
<div class="overflow-x-auto">
<table class="w-full">
<thead class="bg-gradient-to-r from-green-600 to-yellow-400 text-white">
<tr>
<th class="px-6 py-4 text-left text-sm font-semibold">Nama Santri</th>
<th class="px-6 py-4 text-left text-sm font-semibold">Status</th>
<th class="px-6 py-4 text-left text-sm font-semibold">Keterangan</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-200">
@foreach($santris as $i => $s)
<tr class="hover:bg-gray-50 transition-colors">
<td class="px-6 py-4">
<div class="flex items-center">
<div
class="w-8 h-8 bg-green-100 rounded-full flex items-center justify-center mr-3">
<span
class="text-green-600 font-semibold text-sm">{{ substr($s->nama, 0, 1) }}</span>
</div>
<span class="font-medium text-gray-900">{{ $s->nama }}</span>
</div>
<input type="hidden" name="absensi[{{$i}}][santri_id]" value="{{ $s->id }}">
</td>
<td class="px-6 py-4">
<select name="absensi[{{$i}}][status]"
class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-colors"
required>
<option value="">Pilih Status</option>
<option value="hadir">Hadir</option>
<option value="izin">Izin</option>
<option value="sakit">Sakit</option>
<option value="alfa">Alpa</option>
</select>
</td>
<td class="px-6 py-4">
<input type="text" name="absensi[{{$i}}][keterangan]"
class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-colors"
placeholder="Keterangan (opsional)">
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@else
<div class="text-center py-12">
<div class="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-users text-blue-600 text-2xl"></i>
</div>
<h3 class="text-lg font-medium text-gray-900 mb-2">Pilih Kelas</h3>
<p class="text-gray-600">Pilih kelas terlebih dahulu untuk menampilkan daftar santri.</p>
</div>
@endif
<!-- Action Buttons -->
<div class="flex items-center justify-end space-x-4 pt-6 border-t border-gray-200">
<a href="{{ route('guru.absensis.index') }}"
class="inline-flex items-center px-6 py-3 text-sm font-medium text-gray-700 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors">
<i class="fas fa-arrow-left mr-2"></i>
Kembali
</a>
@if(isset($santris) && $santris->count())
<button type="submit"
class="inline-flex items-center px-6 py-3 text-sm font-medium text-white bg-green-600 rounded-lg hover:bg-green-700 transition-colors">
<i class="fas fa-save mr-2"></i>
Simpan Absensi
</button>
@endif
</div>
</form>
</div>
</div>
</div>
</div>
</x-guru-layout>