95 lines
7.0 KiB
PHP
95 lines
7.0 KiB
PHP
@extends('layouts.guru')
|
|
@section('content')
|
|
<div class="py-12">
|
|
<div class="max-w-4xl mx-auto sm:px-6 lg:px-8">
|
|
<div class="bg-white overflow-hidden shadow-xl sm:rounded-2xl">
|
|
<div class="p-8">
|
|
<!-- Header Section -->
|
|
<div class="mb-8">
|
|
<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>
|
|
</div>
|
|
|
|
<form action="{{ route('guru.absensis.store') }}" method="POST">
|
|
@csrf
|
|
|
|
<!-- Date Selection -->
|
|
<div class="bg-gray-50 rounded-xl p-6 mb-8">
|
|
<h3 class="text-lg font-semibold text-gray-800 mb-4">Pilih Tanggal</h3>
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<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-blue-500 focus:border-blue-500 transition-colors" value="{{ old('tanggal', date('Y-m-d')) }}" 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-blue-500 focus:border-blue-500 transition-colors" required>
|
|
<option value="">Pilih Kelas</option>
|
|
@foreach($kelas as $k)
|
|
<option value="{{ $k->id }}" {{ old('kelas_id') == $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>
|
|
</div>
|
|
|
|
<!-- Attendance List -->
|
|
<div class="bg-gray-50 rounded-xl p-6 mb-8">
|
|
<h3 class="text-lg font-semibold text-gray-800 mb-4">Daftar Kehadiran Santri</h3>
|
|
<div class="overflow-x-auto">
|
|
<table class="min-w-full bg-white border border-gray-200 rounded-lg">
|
|
<thead class="bg-gray-50">
|
|
<tr>
|
|
<th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">No</th>
|
|
<th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Nama Santri</th>
|
|
<th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
|
|
<th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Keterangan</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="divide-y divide-gray-200">
|
|
@foreach($santris as $index => $santri)
|
|
<tr class="hover:bg-gray-50">
|
|
<td class="px-4 py-3 text-sm text-gray-900">{{ $index + 1 }}</td>
|
|
<td class="px-4 py-3 text-sm text-gray-900">{{ $santri->nama }}</td>
|
|
<td class="px-4 py-3">
|
|
<select name="status[{{ $santri->id }}]" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors text-sm">
|
|
<option value="Hadir" {{ old("status.{$santri->id}") == 'Hadir' ? 'selected' : '' }}>Hadir</option>
|
|
<option value="Sakit" {{ old("status.{$santri->id}") == 'Sakit' ? 'selected' : '' }}>Sakit</option>
|
|
<option value="Izin" {{ old("status.{$santri->id}") == 'Izin' ? 'selected' : '' }}>Izin</option>
|
|
<option value="Alpha" {{ old("status.{$santri->id}") == 'Alpha' ? 'selected' : '' }}>Alpha</option>
|
|
<option value="Terlambat" {{ old("status.{$santri->id}") == 'Terlambat' ? 'selected' : '' }}>Terlambat</option>
|
|
</select>
|
|
</td>
|
|
<td class="px-4 py-3">
|
|
<input type="text" name="keterangan[{{ $santri->id }}]" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors text-sm" value="{{ old("keterangan.{$santri->id}") }}" placeholder="Keterangan (opsional)">
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 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>
|
|
<button type="submit" class="inline-flex items-center px-6 py-3 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition-colors">
|
|
<i class="fas fa-save mr-2"></i>
|
|
Simpan Absensi
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|