import { muatSwal } from '@/lib/dialog';

/**
 * Modal Kebijakan Privasi — port persis `publik/privasi-isi.blade.php`.
 * Ditampilkan lewat SweetAlert2, sama seperti sebelum migrasi.
 *
 * Teksnya wajib tetap sama persis: TataLetakTest memeriksa kalimat kuncinya
 * sebagai bukti kepatuhan UU 27/2022. Karena itu isinya tinggal di sini,
 * satu tempat, dan tidak diduplikasi di komponen lain.
 */
export function isiPrivasi(waPanitia: string | null): string {
    const tautan = waPanitia
        ? `Hubungi panitia lewat <a href="${waPanitia}" rel="noopener">WhatsApp</a> atau datang langsung ke sekolah pada hari kerja.`
        : 'Hubungi panitia SPMB dengan datang langsung ke sekolah pada hari kerja.';

    return `
<h2>Siapa yang mengelola data Anda</h2>
<p>SMK Muhammadiyah 2 Cepu bertindak sebagai Pengendali Data Pribadi sesuai Undang-Undang Nomor 27 Tahun 2022 tentang Pelindungan Data Pribadi.</p>

<h2>Data yang kami minta</h2>
<p>Kami hanya meminta data yang memang dipakai untuk proses penerimaan: identitas calon murid, alamat, sekolah asal, pilihan jurusan, nama orang tua, nomor WhatsApp yang dapat dihubungi, serta tiga berkas persyaratan berupa Kartu Keluarga, Akta Kelahiran, dan KTP orang tua.</p>
<p>Kami <strong>tidak</strong> meminta foto diri, penghasilan orang tua, atau data lain di luar kebutuhan pendaftaran.</p>

<h2>Untuk apa data dipakai</h2>
<p>Semata-mata untuk memproses pendaftaran: memverifikasi berkas, menghubungi Anda bila ada yang perlu diperbaiki, dan menyusun rekap internal sekolah. Data Anda tidak dipakai untuk promosi dan tidak dibagikan kepada pihak ketiga.</p>

<h2>Siapa yang dapat melihat</h2>
<p>Hanya panitia dan admin SPMB yang memiliki akun dan telah masuk ke panel. Berkas persyaratan disimpan di luar wilayah yang dapat diakses publik.</p>

<h2>Berapa lama disimpan</h2>
<p>Data pendaftar yang tidak diterima dihapus satu tahun setelah tahun ajaran berakhir. Data pendaftar yang diterima dipindahkan ke sistem akademik sekolah lalu dihapus dari aplikasi SPMB.</p>

<h2>Hak Anda</h2>
<p>Anda berhak mengetahui, memperbaiki, dan meminta penghapusan data Anda. Permintaan perbaikan disampaikan kepada panitia; setiap perubahan tercatat beserta pelaku dan waktunya.</p>

<h2>Menghubungi kami</h2>
<p>${tautan}</p>
`.trim();
}

/**
 * Membuka modal Kebijakan Privasi. Tanpa SweetAlert (mis. gagal dimuat),
 * isinya tetap terbaca lewat alert biasa — teksnya tidak hilang.
 */
export function bukaDialogPrivasi(waPanitia: string | null): void {
    void muatSwal().then((Swal) => {
        const html = isiPrivasi(waPanitia);

        if (!Swal) {
            window.alert(
                'Kebijakan privasi\n\n' +
                    html.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim(),
            );

            return;
        }

        void Swal.fire({
            title: 'Kebijakan privasi',
            html: '<div class="isi-privasi">' + html + '</div>',
            width: '42em',
            confirmButtonText: 'Saya mengerti',
            confirmButtonColor: '#0b6b3a',
            heightAuto: false,
            customClass: { popup: 'modal-privasi' },
        });
    });
}
