Commit Graph

761 Commits

Author SHA1 Message Date
e9e7c17ee3 feat(desa): Kalender Event Budaya — fitur admin/public, seeder, pagination, fix duplicate options
- Tambah fitur Kalender Event Budaya di admin CMS (list, detail, edit, hapus)
- Tambah state Valtio (create, findMany, findUnique, edit, delete, findUpcoming)
- Tambah endpoint API /find-upcoming untuk event mendatang
- Tambah halaman public /darmasaba/desa/event-budaya dengan pagination 5 data/halaman
- Switch public page dari findUpcoming ke findMany agar pagination berjalan
- Tambah menu "Kalender Event Budaya" di navbar (id: 2.9)
- Perluas seeder event budaya: 8 → 34 events mencakup 2025-2026
- Fix: deduplikasi kategoriOptions di kegiatan-desa public page (Mantine Select error)
- Hapus STRUKTUR.md yang sudah tidak relevan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 16:28:13 +08:00
0a3dc1dc43 chore: bump version to 0.1.65 for stg deploy 2026-05-19 11:28:58 +08:00
7200caa125 Disable Dark Mode 2026-05-19 11:23:49 +08:00
4ad86b4cad chore: bump version to 0.1.64 for stg deploy 2026-05-19 10:23:07 +08:00
45cd1ca6f8 Fix Seeder APBDes V3 2026-05-19 10:19:35 +08:00
ce3ac75529 chore: bump version to 0.1.63 for stg deploy 2026-05-18 17:09:36 +08:00
d716a59ca5 Tambah Seeder V2 2026-05-18 16:57:13 +08:00
13b08aa057 chore: bump version to 0.1.61 for stg deploy 2026-05-18 15:34:48 +08:00
3e5cf9e2fb Ubah Seeder 2026-05-18 15:30:08 +08:00
71562961e8 chore: bump version to 0.1.60 for stg deploy 2026-05-07 15:37:12 +08:00
f52981c9b0 merge: feat(keamanan) tambah halaman publik CCTV dengan peta interaktif 2026-05-07 15:33:38 +08:00
20d1b9aa4b feat(keamanan): tambah halaman publik CCTV dengan peta interaktif
- Buat halaman publik /darmasaba/keamanan/cctv dengan grid card + search + pagination
- Tambah CctvMapSection (Leaflet, SSR=false) — marker hijau=Online, merah=Offline
- Popup marker menampilkan kode, nama, lokasi, dan status CCTV
- Tambah submenu CCTV (id 4.7) di navbar menu Keamanan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 15:33:35 +08:00
5e1b913e04 chore: bump version to 0.1.59 for stg deploy 2026-05-07 12:41:14 +08:00
aef07fab8e merge: fix(pendidikan) perbaiki jumlahPengajar & jumlahSiswa per jenjang di stats 2026-05-07 12:34:30 +08:00
27a42f7ff0 fix(pendidikan): perbaiki jumlahPengajar & jumlahSiswa per jenjang di stats
- 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>
2026-05-07 12:34:20 +08:00
9e213ade8e merge: feat(beasiswa) dynamic stats penerima & dana tersalurkan + formatDana 2026-05-07 11:35:12 +08:00
ea70f6f6e9 feat(beasiswa): dynamic stats penerima & dana tersalurkan dari API + formatDana helper
- Ganti static dataBeasiswa dengan data live dari ringkasanBeasiswaState.findStats
- Tambah formatDana() untuk konversi angka ke Rb/Jt/M/T
- Tambah tasks ke tasks-sample.csv

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 11:34:59 +08:00
da0a98d989 tasks/fix-findUnique-beasiswa-config 2026-05-06 17:01:01 +08:00
7bdf1357ad merge: feat(keamanan) tambah modul CCTV — schema, API, admin UI, seeder 2026-05-06 16:40:35 +08:00
936dd14ca9 feat(keamanan): tambah modul CCTV — schema, API, admin UI, seeder
- Tambah model CctvKeamanan + enum StatusCctv ke prisma schema
- Tambah status Baru ke enum StatusLaporan
- Migration: add_cctv_keamanan_model
- API CRUD + stats endpoint di /api/keamanan/cctv/...
- Admin state (valtio proxy) dengan create/findMany/edit/delete/stats
- Admin pages: list, create, detail (peta Leaflet), edit (peta picker)
- Seeder 8 data CCTV lokasi Darmasaba
- Tambah submenu CCTV di sidebar nav keamanan
- Bump version 0.1.57 → 0.1.58

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:40:31 +08:00
60841039dd chore: bump version to 0.1.57 for stg deploy 2026-05-06 12:08:19 +08:00
16b9b74a73 merge: feat(beasiswa) tambah UI konfigurasi beasiswa di admin 2026-05-06 11:52:02 +08:00
c0b08f4f69 feat(beasiswa): tambah UI konfigurasi beasiswa di admin pendidikan
- Tambah tab "Konfigurasi Beasiswa" di layoutTabs beasiswa-desa
- Buat halaman beasiswa-config/page.tsx dengan stats card (penerima,
  dana, tahun ajaran) + form edit tahunAjaran & danaTersalurkan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 11:51:57 +08:00
7b14923620 merge: fix(beasiswa) BigInt serialization error pada ringkasan stats 2026-05-06 11:17:52 +08:00
3cc09c83d8 fix(beasiswa): konversi danaTersalurkan BigInt ke string sebelum JSON serialize
Elysia tidak bisa serialize BigInt ke JSON — ubah return type danaTersalurkan
dari bigint ke string dengan .toString() di beasiswaRingkasanStats.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 11:17:48 +08:00
5658063f68 merge: feat(pendidikan) tambah state ringkasan & expand seeder beasiswa 2026-05-06 11:03:20 +08:00
d7e1192ab0 feat(pendidikan): tambah state ringkasan pendidikan & beasiswa + expand seeder beasiswa 45 entry
- 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 <noreply@anthropic.com>
2026-05-06 11:03:11 +08:00
8857853baf ci: tambah stack_name input opsional di publish.yml 2026-05-05 16:34:49 +08:00
ce26bc7cc8 chore: bump version to 0.1.56 for stg deploy 2026-05-05 16:25:25 +08:00
b479991c27 merge: refactor(ui) posyandu balita & ibu-hamil penghargaan pattern 2026-05-05 16:12:51 +08:00
e71c938b2f refactor(ui): sesuaikan UI balita & ibu-hamil dengan pola penghargaan
- Gunakan HeaderSearch + dua-komponen pattern (outer + inner list)
- Ganti Loader → Skeleton h={600}, ActionIcon → Button size="xs" variant="light"
- Tambah Paper wrapper, layout="fixed" table, desktop/mobile responsive split
- Search debounce 1000ms via useDebouncedValue

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 16:12:46 +08:00
ff25ead2df feat(sosial-dashboard): tambah API ringkasan pendidikan & beasiswa + CRUD event budaya - bump 0.1.55
- API GET /api/pendidikan/ringkasan/stats: siswa per jenjang, jumlah lembaga & pengajar
- API GET /api/pendidikan/beasiswa/ringkasan/stats: jumlah penerima, dana, tahun ajaran
- Schema + migration: model EventBudaya (nama, tanggal, lokasi, deskripsi)
- API CRUD /api/desa/eventbudaya: create, find-many, findUnique, updt, del
- State admin: eventBudaya.ts (valtio proxy, create/findMany/edit/delete)
- Admin CMS: /admin/desa/event-budaya (list, create, edit)
- Navbar: tambah entry Desa_9 Event Budaya di semua role
- Seeder: 8 event budaya Bali untuk Desa Darmasaba

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 15:25:34 +08:00
2497298703 chore: bump version to 0.1.54 for stg deploy 2026-05-05 14:14:19 +08:00
ba632f9d39 merge: fix(kesehatan) konsolidasi posyandu tabs - bump 0.1.53 2026-05-05 12:26:23 +08:00
f1ee53a7b9 fix(kesehatan): konsolidasi balita, ibu-hamil, ringkasan-kesehatan ke dalam posyandu tabs + fix semua routing path - bump 0.1.53
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 12:26:18 +08:00
fd2060405f feat(kesehatan): slim ringkasan kesehatan schema + tambah seeder balita & ibu hamil - bump 0.1.52
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 10:31:40 +08:00
afe0d9d04b fix(kesehatan): solve valtio mutation error and sync db
- Fix 'Cannot assign to read only property' by mutating original Valtio proxy in create/edit pages for IbuHamil and Balita
- Sync database schema with 'prisma db push' to create IbuHamil and Balita tables
- Verify build success
2026-05-04 17:04:44 +08:00
dccba1f82b feat(kesehatan): refactor ringkasan kesehatan to auto-derived stats
- Add IbuHamil and Balita models to schema.prisma
- Implement IbuHamil and Balita API modules (CRUD)
- Implement /stats endpoint for aggregated health KPIs
- Refactor ringkasan-kesehatan admin page to dashboard-style UI
- Update sidebar with Ibu Hamil and Balita entries
- Fix type errors and icon exports in admin UI
- Bump version to 0.1.52
2026-05-04 16:52:14 +08:00
fc6846f7a1 feat(kesehatan): admin page ringkasan-kesehatan + sidebar entry - bump ke 0.1.51
- New page src/app/admin/(dashboard)/kesehatan/ringkasan-kesehatan/page.tsx
  konsumsi ringkasanKesehatanState (load + submit) dengan 7 NumberInput
  (3 count + 4 pct).
- Tambah Kesehatan_8 "Ringkasan Kesehatan" di 3 instance sidebar
  (list_PageAdmin.tsx).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 15:20:39 +08:00
9ef5773cc2 docs(mind): update plan + tambah summary statistik kesehatan ringkasan
Tandai Step A & B selesai, catat decision log dan pending manual
(bunx prisma migrate deploy + trigger GH workflow).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:35:42 +08:00
68a2a6390b feat(kesehatan): tambah state file ringkasanKesehatan + bump ke 0.1.50
State Valtio untuk RingkasanKesehatanDesa: findUnique (load + sync form)
dan update (zod validation, PUT, refresh). Cover 3 KPI + 4 field Pct baru.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:30:55 +08:00
ba2b90be75 feat(kesehatan): tambah 4 field statistik pct ke RingkasanKesehatanDesa - bump ke 0.1.49
Tambah imunisasiLengkapPct, pemeriksaanRutinPct, giziBaikPct, targetStuntingPct
ke schema + migration + Elysia body validation (range 0-100) + updt handler.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 14:19:27 +08:00
3cc30bf0ff docs(mind): update AI collaboration contract plan and summary 2026-05-04 14:13:54 +08:00
0a5d17f45e docs: add AI collaboration contract and fix KegiatanCard image handling - bump to 0.1.48 2026-04-30 15:30:24 +08:00
83a2dece57 refactor(kegiatan-desa): redesign public list page to card grid + kategori filter
- Remove hero/featured section and tab navigation
- Redesign to pecalang-style: 3-col card grid (image, title, desc, Detail button)
- Replace tabs with Select dropdown filter by kategori
- Search + kategori filter use query params, stay on /semua route
- Image hidden when empty (no placeholder)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 15:09:33 +08:00
e0a5177257 feat(kegiatan-desa): add full CRUD frontend + public detail page - bump to 0.1.47
- API: add GET /:id endpoint (findUnique) for KegiatanDesa
- Admin CMS: add pages for list-kegiatan-desa and kategori-kegiatan-desa (list, create, detail, edit)
- Public: add detail page at /desa/kegiatan-desa/[kategori]/[id]
- Refactor: move KegiatanCard to _com to fix Next.js page export constraint
- Nav: register kegiatan-desa in navbar and admin page list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 14:27:28 +08:00
23c955597e feat(api): add KategoriKegiatan CRUD API and register module - bump to 0.1.46
- Add KategoriKegiatan CRUD (create, findMany, findUnique, update, del)
- Register KategoriKegiatan in Desa API router
- Support soft delete for categories
2026-04-30 11:33:29 +08:00
28a22e8d77 chore(merge): merge sosial seeder branch into stg
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 11:02:14 +08:00
67efe6ce35 feat(seeder): add seeders for Sosial dashboard APIs
- Add seed_ringkasan_kesehatan.ts (ibuHamil=87, balita=342, stunting=12)
- Add seed_beasiswa_config.ts (tahun 2025/2026, dana Rp 1.2M)
- Add seed_kegiatan_desa.ts (KategoriKegiatan + KegiatanDesa incl. Budaya)
- Add kategori-kegiatan.json + kegiatan-desa.json data files
- Update posyandu.json: 1 → 8 posyandu (Mawar, Melati, Dahlia, Anggrek, dll)
- Update program-kesehatan.json: add persentase field + 4 stat entries
- Update seed_program_kesehatan.ts: include persentase in upsert
- Update seed.ts: import + call new seeders

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 11:00:44 +08:00
b39f9b39da feat(sosial): add schema fields + API endpoints for Sosial dashboard - bump to 0.1.45
- Add persentase field to ProgramKesehatan (for health stats bar chart)
- Add BeasiswaConfig model (dana tersalurkan + tahun ajaran)
- Add RingkasanKesehatanDesa model (ibu hamil, balita, alert stunting)
- Add KegiatanDesa CRUD API (GET /api/desa/kegiatandesa/find-many?kategori=Budaya)
- Add BeasiswaConfig API (GET/PUT /api/pendidikan/beasiswa/beasiswaconfig/...)
- Add RingkasanKesehatan API (GET/PUT /api/kesehatan/ringkasankesehatan/...)
- Migration: 20260430000000_add_sosial_fields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 00:16:25 +08:00