- Fix sintaks _count.select: gabungkan siswa & pengajar dalam satu object select - Tambah jumlahPengajar per jenjang via reduce _count.pengajar - Update type PerJenjang di stats.ts & ringkasan-pendidikan.ts - Tambah tasks ke tasks-sample.csv Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
| 1 | title | description | kind | priority | startsAt | dueAt | estimateHours | assigneeEmail | tagNames |
|---|---|---|---|---|---|---|---|---|---|
| 2 | [Beasiswa] Import ringkasanBeasiswaState ke halaman publik beasiswa-desa | Import ringkasanBeasiswaState dari src/app/admin/(dashboard)/_state/pendidikan/ringkasan-beasiswa.ts ke src/app/darmasaba/(pages)/pendidikan/beasiswa-desa/page.tsx untuk mengakses data stats beasiswa secara dinamis. | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 3 | [Beasiswa] Tambah useProxy + useShallowEffect fetch stats beasiswa | Tambah useProxy(ringkasanBeasiswaState.findStats) dan useShallowEffect untuk memanggil statsBeasiswa.load() saat komponen mount di halaman publik beasiswa-desa/page.tsx. | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 4 | [Beasiswa] Ubah dataBeasiswa dari static ke dynamic (penerima & dana tersalurkan) | Pindahkan dataBeasiswa dari static array di luar komponen menjadi computed array di dalam Page(). Field 'Penerima Beasiswa' diambil dari statsBeasiswa.data.jumlahPenerima dan 'Dana Tersalurkan' dari statsBeasiswa.data.danaTersalurkan. Fallback '-' bila data belum tersedia. | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 5 | [Beasiswa] Buat fungsi formatDana untuk konversi angka ke format pendek Indonesia | Buat helper function formatDana(value: string | number) di halaman beasiswa-desa/page.tsx. Konversi: >= 1T → XT, >= 1M (miliar) → XM, >= 1Jt → XJt, >= 1Rb → XRb. Desimal 1 angka hanya muncul jika ada sisa (misal 1.5Jt), bilangan bulat tanpa desimal (misal 2Jt). | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 6 | [Beasiswa] Terapkan formatDana ke field Dana Tersalurkan di dataBeasiswa | Terapkan formatDana(statsBeasiswa.data.danaTersalurkan) pada entry Dana Tersalurkan di array dataBeasiswa agar nilai dari API otomatis diformat ke representasi singkat (Rb/Jt/M/T). | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 7 | [Pendidikan] Fix sintaks _count.select di stats.ts — gabungkan siswa & pengajar | Perbaiki sintaks object _count.select di src/app/api/[[...slugs]]/_lib/pendidikan/ringkasan/stats.ts. Field pengajar ditaruh di luar object select (menjadi dua object terpisah), diperbaiki menjadi satu object select dengan dua key: siswa dan pengajar, masing-masing dengan filter where isActive: true. | BUG | HIGH | 0.5 | nicoarya20@gmail.com | |||
| 8 | [Pendidikan] Tambah jumlahPengajar per jenjang ke query _count dan map perJenjang | Tambah pengajar ke _count.select di query jenjangPendidikan agar jumlah pengajar per jenjang bisa dihitung. Tambah field jumlahPengajar ke hasil map perJenjang menggunakan reduce _count.pengajar dari setiap lembaga. | TASK | HIGH | 0.5 | nicoarya20@gmail.com | |||
| 9 | [Pendidikan] Update type PerJenjang di stats.ts tambah jumlahPengajar | Tambah field jumlahPengajar: number ke type PerJenjang di src/app/api/[[...slugs]]/_lib/pendidikan/ringkasan/stats.ts agar sesuai dengan data yang dikembalikan oleh map perJenjang. | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com | |||
| 10 | [Pendidikan] Update type PerJenjang di ringkasan-pendidikan.ts tambah jumlahPengajar | Tambah field jumlahPengajar: number ke type PerJenjang di src/app/admin/(dashboard)/_state/pendidikan/ringkasan-pendidikan.ts agar cocok dengan shape response API stats pendidikan. | TASK | MEDIUM | 0.5 | nicoarya20@gmail.com |