From d7e1192ab0f0b1ed7bcd2b8fa9b5e53969033faa Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 6 May 2026 11:03:11 +0800 Subject: [PATCH] feat(pendidikan): tambah state ringkasan pendidikan & beasiswa + expand seeder beasiswa 45 entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tambah ringkasan-pendidikan.ts: state valtio fetch GET /api/pendidikan/ringkasan/stats - Tambah ringkasan-beasiswa.ts: state valtio fetch ringkasan stats + beasiswaConfig find/update - Expand beasiswa-pendaftar.json dari 3 → 45 entry (nama Bali, NIK unik, enum valid) Co-Authored-By: Claude Sonnet 4.6 --- .../beasiswa-pendaftar.json | 900 +++++++++++++++++- .../_state/pendidikan/ringkasan-beasiswa.ts | 91 ++ .../_state/pendidikan/ringkasan-pendidikan.ts | 35 + 3 files changed, 1017 insertions(+), 9 deletions(-) create mode 100644 src/app/admin/(dashboard)/_state/pendidikan/ringkasan-beasiswa.ts create mode 100644 src/app/admin/(dashboard)/_state/pendidikan/ringkasan-pendidikan.ts diff --git a/prisma/data/pendidikan/beasiswa-pendaftar/beasiswa-pendaftar.json b/prisma/data/pendidikan/beasiswa-pendaftar/beasiswa-pendaftar.json index eb64fc27..f2a273de 100644 --- a/prisma/data/pendidikan/beasiswa-pendaftar/beasiswa-pendaftar.json +++ b/prisma/data/pendidikan/beasiswa-pendaftar/beasiswa-pendaftar.json @@ -9,14 +9,14 @@ "tempatLahir": "Badung", "tanggalLahir": "2009-05-15", "namaOrtu": "I Ketut Pratama", - "nik": "5106123456780001", + "nik": "5106121505090001", "pekerjaanOrtu": "Petani", "penghasilan": "Rp 1.500.000/bulan", "noHp": "081234567891", "kewarganegaraan": "Indonesia", "agama": "HINDU", - "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Badung, Bali", - "email": "komang.wahyu@email.com", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.wahyu001@email.com", "statusPernikahan": "BELUM_MENIKAH", "ukuranBaju": "M" }, @@ -30,14 +30,14 @@ "tempatLahir": "Badung", "tanggalLahir": "2008-08-22", "namaOrtu": "Ni Made Dewi", - "nik": "5106123456780002", + "nik": "5106126208080002", "pekerjaanOrtu": "Pedagang", "penghasilan": "Rp 2.000.000/bulan", "noHp": "081234567892", "kewarganegaraan": "Indonesia", "agama": "HINDU", - "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Badung, Bali", - "email": "niluh.dw@email.com", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "niluh.ayu002@email.com", "statusPernikahan": "BELUM_MENIKAH", "ukuranBaju": "S" }, @@ -51,14 +51,896 @@ "tempatLahir": "Badung", "tanggalLahir": "2011-03-10", "namaOrtu": "I Wayan Setiawan", - "nik": "5106123456780003", + "nik": "5106121003110003", "pekerjaanOrtu": "Buruh", "penghasilan": "Rp 1.200.000/bulan", "noHp": "081234567893", "kewarganegaraan": "Indonesia", "agama": "HINDU", - "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Badung, Bali", - "email": "made.agung@email.com", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "made.agung003@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-004", + "namaLengkap": "Ni Ketut Sari Utami", + "nis": "2024004", + "kelas": "XII IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-11-05", + "namaOrtu": "I Nyoman Utama", + "nik": "5106124511070004", + "pekerjaanOrtu": "Nelayan", + "penghasilan": "Rp 1.800.000/bulan", + "noHp": "081234567894", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "niketut.sari004@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-005", + "namaLengkap": "I Wayan Dharma Putra", + "nis": "2024005", + "kelas": "VIII", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Gianyar", + "tanggalLahir": "2011-07-20", + "namaOrtu": "I Made Dharma", + "nik": "5106122007110005", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.300.000/bulan", + "noHp": "081234567895", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.dharma005@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-006", + "namaLengkap": "Ni Putu Lestari Wulandari", + "nis": "2024006", + "kelas": "X IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-02-14", + "namaOrtu": "Ni Made Lestari", + "nik": "5106125402090006", + "pekerjaanOrtu": "Ibu Rumah Tangga", + "penghasilan": "Rp 900.000/bulan", + "noHp": "081234567896", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "niputu.lestari006@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-007", + "namaLengkap": "I Nyoman Surya Budiana", + "nis": "2024007", + "kelas": "XI IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-09-30", + "namaOrtu": "I Ketut Budiana", + "nik": "5106123009080007", + "pekerjaanOrtu": "Tukang Bangunan", + "penghasilan": "Rp 2.500.000/bulan", + "noHp": "081234567897", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.surya007@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-008", + "namaLengkap": "Ni Made Indah Suryani", + "nis": "2024008", + "kelas": "VII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2012-01-18", + "namaOrtu": "I Wayan Suryani", + "nik": "5106125801120008", + "pekerjaanOrtu": "Buruh Tani", + "penghasilan": "Rp 1.100.000/bulan", + "noHp": "081234567898", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "nimade.indah008@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-009", + "namaLengkap": "I Gede Mahendra Yudha", + "nis": "2024009", + "kelas": "XII IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Denpasar", + "tanggalLahir": "2007-06-12", + "namaOrtu": "I Made Mahendra", + "nik": "5106121206070009", + "pekerjaanOrtu": "Sopir", + "penghasilan": "Rp 2.200.000/bulan", + "noHp": "081234567899", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "gede.mahendra009@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-010", + "namaLengkap": "Ni Wayan Artini Padmini", + "nis": "2024010", + "kelas": "X IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-04-25", + "namaOrtu": "Ni Ketut Artini", + "nik": "5106126504090010", + "pekerjaanOrtu": "Pedagang Kecil", + "penghasilan": "Rp 1.600.000/bulan", + "noHp": "081234567900", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.artini010@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-011", + "namaLengkap": "I Putu Arnawa Santosa", + "nis": "2024011", + "kelas": "IX", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2010-10-08", + "namaOrtu": "I Komang Arnawa", + "nik": "5106120810100011", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.400.000/bulan", + "noHp": "081234567901", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.arnawa011@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-012", + "namaLengkap": "Ni Komang Rini Listiani", + "nis": "2024012", + "kelas": "XI IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-12-03", + "namaOrtu": "I Wayan Listia", + "nik": "5106124312080012", + "pekerjaanOrtu": "Buruh", + "penghasilan": "Rp 1.000.000/bulan", + "noHp": "081234567902", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.rini012@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-013", + "namaLengkap": "I Ketut Wirawan Sumerta", + "nis": "2024013", + "kelas": "VIII", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2011-08-16", + "namaOrtu": "I Made Sumerta", + "nik": "5106121608110013", + "pekerjaanOrtu": "Kuli Bangunan", + "penghasilan": "Rp 1.700.000/bulan", + "noHp": "081234567903", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "ketut.wirawan013@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-014", + "namaLengkap": "Ni Nyoman Wahyuni Damayanti", + "nis": "2024014", + "kelas": "X IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Gianyar", + "tanggalLahir": "2009-03-28", + "namaOrtu": "Ni Ketut Wahyuni", + "nik": "5106126803090014", + "pekerjaanOrtu": "Penjahit", + "penghasilan": "Rp 1.500.000/bulan", + "noHp": "081234567904", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.wahyuni014@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-015", + "namaLengkap": "I Made Prabawa Artana", + "nis": "2024015", + "kelas": "XII IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-05-09", + "namaOrtu": "I Nyoman Artana", + "nik": "5106120905070015", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.200.000/bulan", + "noHp": "081234567905", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "made.prabawa015@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-016", + "namaLengkap": "Ni Gede Putri Sukma", + "nis": "2024016", + "kelas": "VII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2012-07-17", + "namaOrtu": "I Wayan Sukma", + "nik": "5106125707120016", + "pekerjaanOrtu": "Buruh Tani", + "penghasilan": "Rp 950.000/bulan", + "noHp": "081234567906", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "gede.putri016@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-017", + "namaLengkap": "I Wayan Adnyana Gunawan", + "nis": "2024017", + "kelas": "XI IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-01-22", + "namaOrtu": "I Ketut Gunawan", + "nik": "5106122201080017", + "pekerjaanOrtu": "Pedagang", + "penghasilan": "Rp 2.000.000/bulan", + "noHp": "081234567907", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.adnyana017@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-018", + "namaLengkap": "Ni Putu Sartini Wati", + "nis": "2024018", + "kelas": "IX", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Tabanan", + "tanggalLahir": "2010-09-11", + "namaOrtu": "I Made Wati", + "nik": "5106125109100018", + "pekerjaanOrtu": "Peternak", + "penghasilan": "Rp 1.600.000/bulan", + "noHp": "081234567908", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.sartini018@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-019", + "namaLengkap": "I Komang Arta Wira", + "nis": "2024019", + "kelas": "X IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-11-04", + "namaOrtu": "I Nyoman Arta", + "nik": "5106120411090019", + "pekerjaanOrtu": "Tukang Ojek", + "penghasilan": "Rp 1.800.000/bulan", + "noHp": "081234567909", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.arta019@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-020", + "namaLengkap": "Ni Made Yani Astawa", + "nis": "2024020", + "kelas": "XII IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-02-19", + "namaOrtu": "I Wayan Astawa", + "nik": "5106125902070020", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.300.000/bulan", + "noHp": "081234567910", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "made.yani020@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-021", + "namaLengkap": "I Nyoman Suharta Antara", + "nis": "2024021", + "kelas": "VIII", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2011-06-07", + "namaOrtu": "I Ketut Antara", + "nik": "5106120706110021", + "pekerjaanOrtu": "Buruh", + "penghasilan": "Rp 1.100.000/bulan", + "noHp": "081234567911", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.suharta021@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-022", + "namaLengkap": "Ni Ketut Suryani Arnawa", + "nis": "2024022", + "kelas": "XI IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-04-13", + "namaOrtu": "Ni Made Arnawa", + "nik": "5106125304080022", + "pekerjaanOrtu": "Ibu Rumah Tangga", + "penghasilan": "Rp 800.000/bulan", + "noHp": "081234567912", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "ketut.suryani022@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-023", + "namaLengkap": "I Gede Sudirman Wirawan", + "nis": "2024023", + "kelas": "IX", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Klungkung", + "tanggalLahir": "2010-12-25", + "namaOrtu": "I Wayan Wirawan", + "nik": "5106122512100023", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.400.000/bulan", + "noHp": "081234567913", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "gede.sudirman023@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-024", + "namaLengkap": "Ni Wayan Padmini Sutari", + "nis": "2024024", + "kelas": "X IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-08-31", + "namaOrtu": "I Nyoman Sutari", + "nik": "5106127108090024", + "pekerjaanOrtu": "Pedagang Sayur", + "penghasilan": "Rp 1.700.000/bulan", + "noHp": "081234567914", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.padmini024@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-025", + "namaLengkap": "I Putu Yudha Saputra", + "nis": "2024025", + "kelas": "XII IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-10-16", + "namaOrtu": "I Made Saputra", + "nik": "5106121610070025", + "pekerjaanOrtu": "Buruh Pabrik", + "penghasilan": "Rp 2.100.000/bulan", + "noHp": "081234567915", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.yudha025@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-026", + "namaLengkap": "Ni Komang Ayu Widiastuti", + "nis": "2024026", + "kelas": "VII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2012-05-02", + "namaOrtu": "I Wayan Widiastuti", + "nik": "5106124205120026", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.000.000/bulan", + "noHp": "081234567916", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.ayu026@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-027", + "namaLengkap": "I Made Bayu Permana", + "nis": "2024027", + "kelas": "XI IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-07-27", + "namaOrtu": "I Nyoman Permana", + "nik": "5106122707080027", + "pekerjaanOrtu": "Tukang Kayu", + "penghasilan": "Rp 2.300.000/bulan", + "noHp": "081234567917", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "made.bayu027@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-028", + "namaLengkap": "Ni Nyoman Diah Permatasari", + "nis": "2024028", + "kelas": "X IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-01-06", + "namaOrtu": "I Ketut Permata", + "nik": "5106124601090028", + "pekerjaanOrtu": "Buruh Tani", + "penghasilan": "Rp 1.100.000/bulan", + "noHp": "081234567918", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.diah028@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-029", + "namaLengkap": "I Ketut Dipa Darma", + "nis": "2024029", + "kelas": "VIII", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2011-04-14", + "namaOrtu": "I Made Darma", + "nik": "5106121404110029", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.300.000/bulan", + "noHp": "081234567919", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "ketut.dipa029@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-030", + "namaLengkap": "Ni Putu Ratna Sari", + "nis": "2024030", + "kelas": "XII IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-09-23", + "namaOrtu": "I Wayan Ratna", + "nik": "5106126309070030", + "pekerjaanOrtu": "Ibu Rumah Tangga", + "penghasilan": "Rp 850.000/bulan", + "noHp": "081234567920", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.ratna030@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-031", + "namaLengkap": "I Wayan Eka Prasetya", + "nis": "2024031", + "kelas": "IX", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2010-02-28", + "namaOrtu": "I Nyoman Prasetya", + "nik": "5106122802100031", + "pekerjaanOrtu": "Nelayan", + "penghasilan": "Rp 1.900.000/bulan", + "noHp": "081234567921", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.eka031@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-032", + "namaLengkap": "Ni Made Sintya Dewi", + "nis": "2024032", + "kelas": "X IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-06-19", + "namaOrtu": "I Ketut Sintya", + "nik": "5106125906090032", + "pekerjaanOrtu": "Pedagang", + "penghasilan": "Rp 1.600.000/bulan", + "noHp": "081234567922", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "made.sintya032@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-033", + "namaLengkap": "I Komang Dika Pranata", + "nis": "2024033", + "kelas": "XI IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-10-11", + "namaOrtu": "I Wayan Pranata", + "nik": "5106121110080033", + "pekerjaanOrtu": "Kuli Bangunan", + "penghasilan": "Rp 2.000.000/bulan", + "noHp": "081234567923", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.dika033@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-034", + "namaLengkap": "Ni Gede Wulandari Nirmala", + "nis": "2024034", + "kelas": "VII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2012-03-07", + "namaOrtu": "Ni Made Nirmala", + "nik": "5106124703120034", + "pekerjaanOrtu": "Buruh", + "penghasilan": "Rp 1.050.000/bulan", + "noHp": "081234567924", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "gede.wulandari034@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-035", + "namaLengkap": "I Nyoman Rian Kusuma", + "nis": "2024035", + "kelas": "XII IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-08-04", + "namaOrtu": "I Ketut Kusuma", + "nik": "5106120408070035", + "pekerjaanOrtu": "Sopir", + "penghasilan": "Rp 2.400.000/bulan", + "noHp": "081234567925", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.rian035@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-036", + "namaLengkap": "Ni Ketut Mira Astuti", + "nis": "2024036", + "kelas": "VIII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2011-11-29", + "namaOrtu": "I Made Astuti", + "nik": "5106126911110036", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.250.000/bulan", + "noHp": "081234567926", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "ketut.mira036@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-037", + "namaLengkap": "I Putu Galih Satriana", + "nis": "2024037", + "kelas": "X IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Bangli", + "tanggalLahir": "2009-04-18", + "namaOrtu": "I Wayan Satriana", + "nik": "5106121804090037", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.350.000/bulan", + "noHp": "081234567927", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.galih037@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-038", + "namaLengkap": "Ni Wayan Eka Pratiwi", + "nis": "2024038", + "kelas": "XI IPS", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-06-03", + "namaOrtu": "Ni Ketut Pratiwi", + "nik": "5106124306080038", + "pekerjaanOrtu": "Penjual Canang", + "penghasilan": "Rp 1.200.000/bulan", + "noHp": "081234567928", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.eka038@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-039", + "namaLengkap": "I Made Wahyu Artha", + "nis": "2024039", + "kelas": "IX", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2010-08-21", + "namaOrtu": "I Nyoman Artha", + "nik": "5106122108100039", + "pekerjaanOrtu": "Tukang Batu", + "penghasilan": "Rp 1.800.000/bulan", + "noHp": "081234567929", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "made.wahyu039@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-040", + "namaLengkap": "Ni Putu Dwi Cahyani", + "nis": "2024040", + "kelas": "X IPA", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-12-10", + "namaOrtu": "I Wayan Cahyani", + "nik": "5106125012090040", + "pekerjaanOrtu": "Buruh Tani", + "penghasilan": "Rp 1.100.000/bulan", + "noHp": "081234567930", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "putu.dwi040@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-041", + "namaLengkap": "I Gede Arsa Wijaya", + "nis": "2024041", + "kelas": "XII IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kauh, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2007-03-14", + "namaOrtu": "I Ketut Wijaya", + "nik": "5106121403070041", + "pekerjaanOrtu": "Pedagang", + "penghasilan": "Rp 2.200.000/bulan", + "noHp": "081234567931", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kauh, Desa Darmasaba, Abiansemal, Badung", + "email": "gede.arsa041@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "L" + }, + { + "id": "cmk-beasiswa-042", + "namaLengkap": "Ni Komang Trisna Yanti", + "nis": "2024042", + "kelas": "VII", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kangin, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2012-09-06", + "namaOrtu": "Ni Made Yanti", + "nik": "5106124609120042", + "pekerjaanOrtu": "Petani", + "penghasilan": "Rp 1.050.000/bulan", + "noHp": "081234567932", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kangin, Desa Darmasaba, Abiansemal, Badung", + "email": "komang.trisna042@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-043", + "namaLengkap": "I Wayan Surya Negara", + "nis": "2024043", + "kelas": "XI IPA", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Tengah, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2008-05-26", + "namaOrtu": "I Nyoman Negara", + "nik": "5106122605080043", + "pekerjaanOrtu": "Buruh", + "penghasilan": "Rp 1.500.000/bulan", + "noHp": "081234567933", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Tengah, Desa Darmasaba, Abiansemal, Badung", + "email": "wayan.surya043@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "M" + }, + { + "id": "cmk-beasiswa-044", + "namaLengkap": "Ni Made Juniari Santi", + "nis": "2024044", + "kelas": "IX", + "jenisKelamin": "PEREMPUAN", + "alamatDomisili": "Banjar Adat Kaja, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2010-07-13", + "namaOrtu": "I Wayan Santi", + "nik": "5106125307100044", + "pekerjaanOrtu": "Ibu Rumah Tangga", + "penghasilan": "Rp 900.000/bulan", + "noHp": "081234567934", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kaja, Desa Darmasaba, Abiansemal, Badung", + "email": "made.juniari044@email.com", + "statusPernikahan": "BELUM_MENIKAH", + "ukuranBaju": "S" + }, + { + "id": "cmk-beasiswa-045", + "namaLengkap": "I Nyoman Krisna Mahardika", + "nis": "2024045", + "kelas": "X IPS", + "jenisKelamin": "LAKI_LAKI", + "alamatDomisili": "Banjar Adat Kelod, Desa Darmasaba", + "tempatLahir": "Badung", + "tanggalLahir": "2009-10-01", + "namaOrtu": "I Made Mahardika", + "nik": "5106120110090045", + "pekerjaanOrtu": "Kuli Bangunan", + "penghasilan": "Rp 2.000.000/bulan", + "noHp": "081234567935", + "kewarganegaraan": "Indonesia", + "agama": "HINDU", + "alamatKTP": "Banjar Adat Kelod, Desa Darmasaba, Abiansemal, Badung", + "email": "nyoman.krisna045@email.com", "statusPernikahan": "BELUM_MENIKAH", "ukuranBaju": "M" } diff --git a/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-beasiswa.ts b/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-beasiswa.ts new file mode 100644 index 00000000..b9ccbe1c --- /dev/null +++ b/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-beasiswa.ts @@ -0,0 +1,91 @@ +import { toast } from "react-toastify"; +import { proxy } from "valtio"; + +type StatsBeasiswa = { + jumlahPenerima: number; + danaTersalurkan: string; + tahunAjaran: string; +}; + +type BeasiswaConfig = { + id: string; + tahunAjaran: string; + danaTersalurkan: string; +}; + +const ringkasanBeasiswaState = proxy({ + findStats: { + data: null as StatsBeasiswa | null, + loading: false, + async load() { + try { + ringkasanBeasiswaState.findStats.loading = true; + const res = await fetch(`/api/pendidikan/beasiswa/ringkasan/stats`); + if (res.ok) { + const result = await res.json(); + ringkasanBeasiswaState.findStats.data = result?.data ?? null; + } else { + ringkasanBeasiswaState.findStats.data = null; + } + } catch (error) { + console.error("Error fetching ringkasan beasiswa:", error); + ringkasanBeasiswaState.findStats.data = null; + } finally { + ringkasanBeasiswaState.findStats.loading = false; + } + }, + }, + + beasiswaConfig: { + data: null as BeasiswaConfig | null, + loading: false, + async find() { + try { + ringkasanBeasiswaState.beasiswaConfig.loading = true; + const res = await fetch(`/api/pendidikan/beasiswa/beasiswaconfig/find`); + if (res.ok) { + const result = await res.json(); + ringkasanBeasiswaState.beasiswaConfig.data = result?.data ?? null; + } else { + ringkasanBeasiswaState.beasiswaConfig.data = null; + } + } catch (error) { + console.error("Error fetching beasiswa config:", error); + ringkasanBeasiswaState.beasiswaConfig.data = null; + } finally { + ringkasanBeasiswaState.beasiswaConfig.loading = false; + } + }, + + update: { + loading: false, + async submit(tahunAjaran: string, danaTersalurkan: string) { + try { + ringkasanBeasiswaState.beasiswaConfig.update.loading = true; + const res = await fetch(`/api/pendidikan/beasiswa/beasiswaconfig/update`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ tahunAjaran, danaTersalurkan }), + }); + const result = await res.json(); + if (result.success) { + toast.success("Konfigurasi beasiswa berhasil disimpan"); + await ringkasanBeasiswaState.beasiswaConfig.find(); + await ringkasanBeasiswaState.findStats.load(); + return true; + } + toast.error(result.message || "Gagal menyimpan konfigurasi"); + return false; + } catch (error) { + console.error("Error updating beasiswa config:", error); + toast.error("Gagal menyimpan konfigurasi beasiswa"); + return false; + } finally { + ringkasanBeasiswaState.beasiswaConfig.update.loading = false; + } + }, + }, + }, +}); + +export default ringkasanBeasiswaState; diff --git a/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-pendidikan.ts b/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-pendidikan.ts new file mode 100644 index 00000000..f530b3cd --- /dev/null +++ b/src/app/admin/(dashboard)/_state/pendidikan/ringkasan-pendidikan.ts @@ -0,0 +1,35 @@ +import { proxy } from "valtio"; + +type PerJenjang = { nama: string; jumlahSiswa: number }; + +type StatsPendidikan = { + perJenjang: PerJenjang[]; + jumlahLembaga: number; + jumlahPengajar: number; +}; + +const ringkasanPendidikanState = proxy({ + findStats: { + data: null as StatsPendidikan | null, + loading: false, + async load() { + try { + ringkasanPendidikanState.findStats.loading = true; + const res = await fetch(`/api/pendidikan/ringkasan/stats`); + if (res.ok) { + const result = await res.json(); + ringkasanPendidikanState.findStats.data = result?.data ?? null; + } else { + ringkasanPendidikanState.findStats.data = null; + } + } catch (error) { + console.error("Error fetching ringkasan pendidikan:", error); + ringkasanPendidikanState.findStats.data = null; + } finally { + ringkasanPendidikanState.findStats.loading = false; + } + }, + }, +}); + +export default ringkasanPendidikanState;