feat: update student import and graduation workflows

This commit is contained in:
2026-04-30 00:04:52 +07:00
parent 189b076ab0
commit ac22f8b7c8
51 changed files with 4547 additions and 1287 deletions
@@ -82,13 +82,13 @@
}
</script>
<div class="mb-8 flex flex-col gap-4 rounded-[2rem] bg-white p-6 shadow-sm shadow-slate-200 lg:flex-row lg:items-center lg:justify-between">
<div class="mb-8 flex flex-col gap-4 rounded-[2rem] border border-white/70 bg-white/95 p-6 shadow-sm shadow-slate-200 ring-1 ring-white/70 lg:flex-row lg:items-center lg:justify-between">
<div>
<div class="text-sm font-semibold uppercase tracking-[0.22em] text-indigo-600">Form Pelengkapan Data</div>
<h1 class="mt-2 text-3xl font-bold text-slate-900">{{ $student->full_name }}</h1>
<p class="mt-2 text-sm text-slate-500">Lengkapi data diri dengan benar. Data akademik inti ditampilkan sebagai referensi dan tidak bisa diubah dari sini.</p>
</div>
<div class="rounded-2xl border border-slate-200 bg-slate-50 px-5 py-4 text-sm text-slate-600">
<div class="rounded-3xl border border-slate-200 bg-gradient-to-br from-white via-slate-50 to-indigo-50/30 px-5 py-4 text-sm text-slate-600 shadow-sm ring-1 ring-white/70">
<div><strong>NIS:</strong> {{ $student->student_number ?: '-' }}</div>
<div><strong>NISN:</strong> {{ $student->nisn ?: '-' }}</div>
<div><strong>Tahun Angkatan:</strong> {{ $student->academicYear?->name ?: '-' }}</div>
@@ -117,7 +117,7 @@
@csrf
<div class="grid grid-cols-1 gap-6 xl:grid-cols-2">
<div class="rounded-[2rem] bg-white p-6 shadow-sm shadow-slate-200">
<div class="rounded-[2rem] border border-white/70 bg-white/95 p-6 shadow-sm shadow-slate-200 ring-1 ring-white/70">
<h2 class="text-lg font-semibold text-slate-900">Identitas Siswa</h2>
<div class="mt-5 grid grid-cols-1 gap-5 md:grid-cols-2">
<div class="md:col-span-2">
@@ -154,6 +154,10 @@
<label class="mb-2 block text-sm font-medium text-slate-700">Kewarganegaraan</label>
<input name="nationality" type="text" value="{{ old('nationality', $student->nationality) }}" class="h-12 w-full rounded-2xl border border-slate-200 px-4 text-sm">
</div>
<div>
<label class="mb-2 block text-sm font-medium text-slate-700">NIK</label>
<input name="nik" type="text" value="{{ old('nik', $student->nik) }}" class="h-12 w-full rounded-2xl border border-slate-200 px-4 text-sm">
</div>
<div>
<label class="mb-2 block text-sm font-medium text-slate-700">No. Kartu Keluarga</label>
<input name="family_card_number" type="text" value="{{ old('family_card_number', $student->family_card_number) }}" class="h-12 w-full rounded-2xl border border-slate-200 px-4 text-sm">
@@ -177,7 +181,7 @@
</div>
</div>
<div class="rounded-[2rem] bg-white p-6 shadow-sm shadow-slate-200">
<div class="rounded-[2rem] border border-white/70 bg-white/95 p-6 shadow-sm shadow-slate-200 ring-1 ring-white/70">
<h2 class="text-lg font-semibold text-slate-900">Alamat</h2>
<div class="mt-5 grid grid-cols-1 gap-5 md:grid-cols-2">
<div>
@@ -228,14 +232,14 @@
</div>
</div>
<div class="rounded-[2rem] bg-white p-6 shadow-sm shadow-slate-200">
<div class="rounded-[2rem] border border-white/70 bg-white/95 p-6 shadow-sm shadow-slate-200 ring-1 ring-white/70">
<h2 class="text-lg font-semibold text-slate-900">Data Orang Tua / Wali</h2>
<div class="mt-6 grid grid-cols-1 gap-6 xl:grid-cols-3">
@foreach ($parentRelationLabels as $relationType => $label)
@php
$parent = $student->parents->firstWhere('relation_type', $relationType);
@endphp
<div class="rounded-3xl border border-slate-200 bg-slate-50 p-5">
<div class="rounded-3xl border border-slate-200 bg-gradient-to-br from-white via-slate-50 to-slate-100/70 p-5 shadow-sm ring-1 ring-white/70">
<h3 class="text-base font-semibold text-slate-800">{{ $label }}</h3>
<div class="mt-4 space-y-4">
<div>
@@ -282,12 +286,14 @@
</div>
</div>
<div class="flex flex-col gap-3 rounded-[2rem] bg-white p-6 shadow-sm shadow-slate-200 sm:flex-row sm:justify-end">
<button type="submit" name="submit_action" value="draft" class="inline-flex items-center justify-center rounded-2xl border border-slate-200 px-5 py-3 text-sm font-semibold text-slate-700 transition hover:bg-slate-50">
Simpan Draft
<div class="flex flex-col gap-3 rounded-[2rem] border border-white/70 bg-white/95 p-6 shadow-sm shadow-slate-200 ring-1 ring-white/70 sm:flex-row sm:justify-end">
<button type="submit" name="submit_action" value="draft" class="inline-flex items-center justify-center gap-2 rounded-2xl border border-slate-200 px-5 py-3 text-sm font-semibold text-slate-700 transition hover:bg-slate-50">
<i class="fa-solid fa-floppy-disk"></i>
<span>Simpan Draft</span>
</button>
<button type="submit" name="submit_action" value="submit" class="inline-flex items-center justify-center rounded-2xl bg-indigo-600 px-5 py-3 text-sm font-semibold text-white shadow-lg shadow-indigo-200 transition hover:bg-indigo-700">
Kirim Data
<button type="submit" name="submit_action" value="submit" class="inline-flex items-center justify-center gap-2 rounded-2xl bg-indigo-600 px-5 py-3 text-sm font-semibold text-white shadow-lg shadow-indigo-200 transition hover:bg-indigo-700">
<i class="fa-solid fa-paper-plane"></i>
<span>Kirim Data</span>
</button>
</div>
</form>