@extends('admin.layout')

@section('content')
<link rel="stylesheet" href="{{ asset('css/fitur-admin.css') }}">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<div class="dashboard-section d-flex justify-content-center">
    <div style="width: 100%; max-width: 700px;">
        <div class="mb-4 text-center">
            <h4 class="fw-bold text-dark">Edit Data Guru</h4>
            <p id="display_id_guru" class="text-muted small fw-bold">Memuat profil...</p>
        </div>

        <div class="card border-0 shadow-sm rounded-4">
            <div class="card-body p-5">
                <form id="formEditGuru">
                    <input type="hidden" id="guru_id_db" value="{{ $id }}">
                    <div class="row g-4">
                        <div class="col-md-12 form-group-custom">
                            <label class="fw-bold small text-muted">Nama Lengkap & Gelar</label>
                            <input type="text" id="nama_guru" class="form-control input-custom" required>
                        </div>
                    </div>
                    <div class="mt-5 d-flex gap-2 justify-content-end">
                        <button type="submit" id="btnUpdate" class="btn text-white px-5 shadow-sm" style="background-color: var(--primary-green); border-radius: 10px;">Update Profil</button>
                        <a href="{{ route('admin.guru') }}" class="btn btn-light px-4" style="border-radius: 10px;">Batal</a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

<script>
    const dbId = document.getElementById('guru_id_db').value;

    async function loadGuru() {
        try {
            const response = await fetch(`/api/admin/guru/${dbId}`, {
                headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }
            });
            const result = await response.json();
            if (response.ok) {
                document.getElementById('nama_guru').value = result.data.nama_guru;
                document.getElementById('display_id_guru').innerText = `Ubah profil administrator guru BK (${result.data.id_guru}).`;
            }
        } catch (error) { console.error(error); }
    }

    document.getElementById('formEditGuru').addEventListener('submit', async (e) => {
        e.preventDefault();
        const btn = document.getElementById('btnUpdate');
        btn.disabled = true;

        const payload = {
            nama_guru: document.getElementById('nama_guru').value
        };

        try {
            const response = await fetch(`/api/admin/guru/${dbId}`, {
                method: 'PUT',
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': 'Bearer ' + localStorage.getItem('access_token'),
                    'Accept': 'application/json'
                },
                body: JSON.stringify(payload)
            });

            if (response.ok) {
                Swal.fire({ icon: 'success', title: 'Berhasil Diperbarui!', confirmButtonColor: '#2D6A4F' })
                .then(() => { window.location.href = "{{ route('admin.guru') }}"; });
            }
        } catch (error) { Swal.fire('Error!', 'Gagal koneksi.', 'error'); } 
        finally { btn.disabled = false; }
    });

    document.addEventListener('DOMContentLoaded', loadGuru);
</script>
@endsection