<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\HariLibur; // Model yang diimport namanya HariLibur

class PelengkapLiburSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $data = [
            // --- JANUARI ---
            ['tanggal_mulai' => '2026-01-01', 'keterangan' => 'Tahun Baru 2026 Masehi', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-01-19', 'keterangan' => 'Isra Mikraj Nabi Muhammad SAW', 'tipe' => 'nasional'],

            // --- FEBRUARI ---
            ['tanggal_mulai' => '2026-02-17', 'keterangan' => 'Tahun Baru Imlek 2577 Kongzili', 'tipe' => 'nasional'],

            // --- MARET ---
            ['tanggal_mulai' => '2026-03-19', 'keterangan' => 'Hari Suci Nyepi (Tahun Baru Saka 1948)', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-03-20', 'keterangan' => 'Hari Raya Idul Fitri 1447 H (Hari 1)', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-03-21', 'keterangan' => 'Hari Raya Idul Fitri 1447 H (Hari 2)', 'tipe' => 'nasional'],

            // Cuti Bersama Idul Fitri
            ['tanggal_mulai' => '2026-03-18', 'keterangan' => 'Cuti Bersama Idul Fitri', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-03-23', 'keterangan' => 'Cuti Bersama Idul Fitri', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-03-24', 'keterangan' => 'Cuti Bersama Idul Fitri', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-03-25', 'keterangan' => 'Cuti Bersama Idul Fitri', 'tipe' => 'nasional'],

            // --- APRIL ---
            ['tanggal_mulai' => '2026-04-03', 'keterangan' => 'Wafat Yesus Kristus (Jumat Agung)', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-04-05', 'keterangan' => 'Hari Paskah', 'tipe' => 'nasional'],

            // --- MEI ---
            ['tanggal_mulai' => '2026-05-01', 'keterangan' => 'Hari Buruh Internasional', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-05-14', 'keterangan' => 'Kenaikan Yesus Kristus', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-05-22', 'keterangan' => 'Hari Raya Waisak 2570 BE', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-05-25', 'keterangan' => 'Cuti Bersama Waisak', 'tipe' => 'nasional'],

            // --- JUNI ---
            ['tanggal_mulai' => '2026-06-01', 'keterangan' => 'Hari Lahir Pancasila', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-06-27', 'keterangan' => 'Hari Raya Idul Adha 1447 H', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-06-29', 'keterangan' => 'Cuti Bersama Idul Adha', 'tipe' => 'nasional'],

            // --- JULI ---
            ['tanggal_mulai' => '2026-07-17', 'keterangan' => 'Tahun Baru Islam 1448 H', 'tipe' => 'nasional'],

            // --- AGUSTUS ---
            ['tanggal_mulai' => '2026-08-17', 'keterangan' => 'Hari Kemerdekaan Republik Indonesia', 'tipe' => 'nasional'],

            // --- SEPTEMBER ---
            ['tanggal_mulai' => '2026-09-25', 'keterangan' => 'Maulid Nabi Muhammad SAW', 'tipe' => 'nasional'],

            // --- DESEMBER ---
            ['tanggal_mulai' => '2026-12-25', 'keterangan' => 'Hari Raya Natal', 'tipe' => 'nasional'],
            ['tanggal_mulai' => '2026-12-24', 'keterangan' => 'Cuti Bersama Hari Raya Natal', 'tipe' => 'nasional'],

            // --- LIBUR SEMESTER ---
            [
                'tanggal_mulai' => '2026-06-22',
                'tanggal_selesai' => '2026-07-11',
                'keterangan' => 'Libur Akhir Semester Genap',
                'tipe' => 'semester'
            ],
            [
                'tanggal_mulai' => '2026-12-21',
                'tanggal_selesai' => '2026-12-31',
                'keterangan' => 'Libur Akhir Semester Ganjil',
                'tipe' => 'semester'
            ],
        ];

        foreach ($data as $libur) {
            // Sudah diperbaiki: Nama Class harus sesuai dengan yang di import (HariLibur)
            HariLibur::updateOrCreate(
                ['tanggal_mulai' => $libur['tanggal_mulai']],
                $libur
            );
        }
    }
}
