From 6ed0246ceac7b8e6249aa53c9b4b59db92cb52a0 Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 18 Jun 2025 15:32:06 +0800 Subject: [PATCH] API Profile Desa Udah Clear, API Menu desa udah clear API & UI Profile Desa Clear --- prisma/data/desa/profile/lambang_desa.json | 2 +- prisma/data/desa/profile/maskot_desa.json | 2 +- prisma/data/desa/profile/profil_perbekel.json | 2 +- prisma/data/desa/profile/sejarah_desa.json | 2 +- prisma/data/desa/profile/visi_misi_desa.json | 2 +- .../data/ppid/profile-ppid/profilePPid.json | 2 +- .../admin/(dashboard)/_state/desa/potensi.ts | 2 +- .../admin/(dashboard)/_state/desa/profile.ts | 4 +- .../desa/berita/[id]/edit/page.tsx | 20 +- .../(dashboard)/desa/berita/create/page.tsx | 60 +++-- .../profile-desa/[id]/lambang_desa/page.tsx | 2 +- .../profile-desa/[id]/maskot_desa/page.tsx | 2 +- .../profile-desa/[id]/sejarah_desa/page.tsx | 2 +- .../profile-desa/[id]/visi_misi_desa/page.tsx | 2 +- .../desa/profile/profile-desa/page.tsx | 8 +- .../profile/profile-perbekel/[id]/page.tsx | 224 ++++++++++++++---- .../desa/profile/profile-perbekel/page.tsx | 104 +++++++- .../(dashboard)/ppid/profile-ppid/page.tsx | 2 +- .../(dashboard)/ppid/visi-misi-ppid/page.tsx | 2 +- .../_lib/desa/profile/profile_desa/index.ts | 4 +- 20 files changed, 357 insertions(+), 93 deletions(-) diff --git a/prisma/data/desa/profile/lambang_desa.json b/prisma/data/desa/profile/lambang_desa.json index c2198f1e..7827289a 100644 --- a/prisma/data/desa/profile/lambang_desa.json +++ b/prisma/data/desa/profile/lambang_desa.json @@ -1,6 +1,6 @@ [ { - "id": "1", + "id": "edit", "judul": "Lambang Desa", "deskripsi" : "" } diff --git a/prisma/data/desa/profile/maskot_desa.json b/prisma/data/desa/profile/maskot_desa.json index 3cf73b9a..b405ff8f 100644 --- a/prisma/data/desa/profile/maskot_desa.json +++ b/prisma/data/desa/profile/maskot_desa.json @@ -1,6 +1,6 @@ [ { - "id": "1", + "id": "edit", "judul": "Maskot Desa", "deskripsi" : "

Pudak adalah bunga dari tanaman sejenis pandan (Pandanaceae). Bentuk bunga ini tersusun dalam beberapa lapisan, terbungkus oleh kelopak warna putih (semacam daun lonjong) yang ujungnya meruncing.

Bunga Pudak berwarna kuning dan akan terlihat jika kelopak atau pelepahnya telah mekar. Kekhasan dari bunga pudak, yaitu mempunyai aroma wangi yang semerbak nan lembut (tidak menyengat), dan dapat menebar keharuman sepanjang pagi atau pun sore hari. Tanaman ini dapat tumbuh di sepanjang pantai, aliran sungai, di atas batu-batu karang, dan juga di tanah ladang.

Dalam Kamus Jawa Kuna- Indonesia kata “Pudak” berarti bunga pandan atau Pandanus Moschatus (Mardiwarsito: 1981: 442). Selain itu bunga pudak juga dapat disebut ketaka atau ketaki (Mardiwarsito, 1981: 276). Sedangkan kata “Sategal” berasal dari kata dasar “Tegal” yang berarti ladang (Mardiwarsito, 1981: 593). Jadi Pudak Sategal dapat diartikan sebagai satu ladang luas yang dipenuhi bunga pudak dan menabar keharuman.

Pada sebuah kesempatan, Ida Pedanda Putu Pemaron menjelaskan mengenai makna dari istilah Pudak Sategal dengan sebuah analogi bahwa, sekuntum bunga pudak memiliki aroma wangi atau keharuman yang sangat kuat, apalagi jika satu ladang penuh bunga pudak, maka dapat dipastikan aroma keharumannya akan membumbung menyebar ke segala penjuru (Wawancara, 18 Mei 2019 di Geria Putra Mandara Kenderan, Tegallalang). “Pudak” ialah sebuah bunga yang memiliki aroma wangi atau keharuman yang semerbak, lembut, dan khas.

Garapan Tari Maskot Desa Darmasaba Sekar Pudak diwujudkan ke dalam bentuk tari kreasi yang ditarikan secara berkelompok dengan jumlah lima orang penari perempuan (putri).

Pemilihan penari perempuan dimaksudkan untuk mempresentasikan keindahan, keluwesan, dan keharuman dari bunga pudak. Sedangkan penetapan jumlah penari lima orang didasarkan atas pertimbangan kebutuhan koreografi agar dapat membentuk desain-desain komposisi lantai yang menarik dan dinamis, baik ketika ditarikan di area panggung yang luas atau pun area panggung yang kecil. Penyajian tari maskot ini dirancang dengan durasi waktu 9 menit.

" } diff --git a/prisma/data/desa/profile/profil_perbekel.json b/prisma/data/desa/profile/profil_perbekel.json index 3f846693..efaf0021 100644 --- a/prisma/data/desa/profile/profil_perbekel.json +++ b/prisma/data/desa/profile/profil_perbekel.json @@ -1,6 +1,6 @@ [ { - "id": "1", + "id": "edit", "biodata": "

I.B Surya Prabhawa Manuaba, S.H., M.H., adalah Perbekel Darmasaba periode 2021-2027, seorang advokat, pendiri Mantra Legal Consultants & Advocates, serta aktif di bidang musik dan akademis. Dia menempuh pendidikan hukum di Universitas Udayana dan Universitas Mahasaraswati Denpasar serta memiliki pengalaman luas di berbagai organisasi dan kepemimpinan.

", "pengalaman": "", "pengalamanOrganisasi": "", diff --git a/prisma/data/desa/profile/sejarah_desa.json b/prisma/data/desa/profile/sejarah_desa.json index c0dd3e5f..347194e5 100644 --- a/prisma/data/desa/profile/sejarah_desa.json +++ b/prisma/data/desa/profile/sejarah_desa.json @@ -1,6 +1,6 @@ [ { - "id": "1", + "id": "edit", "judul": "Sejarah Desa", "deskripsi": "

Asal – usul nama Darmasaba tertuang dalam lontar Usada Bali. Seperti di tulis dalam monografi Desa Darmasaba tahun 1980 silam, nama Darmasaba berkaitan dengan keturunan Danghyang Nirarta diceritakan, Sang kawi-wiku asal Daha (Jawa Timur) itu memiliki cucu bernama Ida Pedanda Sakti Manuaba yang tigggal di Desa Kendran Tegalalang Gianyar. Merasa tidak disenangi sang ayah, Ida Pedanda Sakti Manuaba pergi mengembara bersama dua orang pengiringnya. Pengembaraan sang pendeta sampai di pura Sarin Buana di Jimbaran. Saat mengadakan semedi di tempat ini sang pendeta melihat sinar api. Yang sangat jauh di utara. Timbul keinginan Ida Pedanda Manuaba untuk mengunjungi tempat itu. Sampailah sang Pedanda di pura Batan Bila Peguyangan. Disini Ida Pedanda Manuaba singgah menghadap Ida Pedanda Budha yang tinggal disana. Selanjutnya, kedua pendeta bersama-sama menuju arah utara dan singgah di Taman Cang Ana, sebuah taman milik Arya Lanang Blusung. Di tempat ini kedua pendeta bersama-sama melaksanakan semedi dan menetap untuk sementara waktu.

" } diff --git a/prisma/data/desa/profile/visi_misi_desa.json b/prisma/data/desa/profile/visi_misi_desa.json index 4a6b978c..5fd0b7bc 100644 --- a/prisma/data/desa/profile/visi_misi_desa.json +++ b/prisma/data/desa/profile/visi_misi_desa.json @@ -1,6 +1,6 @@ [ { - "id" : "1", + "id" : "edit", "visi" : "

Mewujudkan Desa Darmasaba yang sejahtera, unggul, religius, berbudaya, dan aman dengan berlandaskan Tri Hita Karana

", "misi" : "" } diff --git a/prisma/data/ppid/profile-ppid/profilePPid.json b/prisma/data/ppid/profile-ppid/profilePPid.json index dc86f436..0c6828f7 100644 --- a/prisma/data/ppid/profile-ppid/profilePPid.json +++ b/prisma/data/ppid/profile-ppid/profilePPid.json @@ -1,6 +1,6 @@ [ { - "id": "1", + "id": "edit", "name": "I.B Surya Prabhawa Manuaba, S.H., M.H.", "biodata": "

I.B Surya Prabhawa Manuaba, S.H., M.H., adalah Perbekel Darmasaba periode 2021-2027, seorang advokat, pendiri Mantra Legal Consultants & Advocates, serta aktif di bidang musik dan akademis. Dia menempuh pendidikan hukum di Universitas Udayana dan Universitas Mahasaraswati Denpasar, serta memiliki pengalaman luas di berbagai organisasi dan kepemimpinan.

", "riwayat": "", diff --git a/src/app/admin/(dashboard)/_state/desa/potensi.ts b/src/app/admin/(dashboard)/_state/desa/potensi.ts index c61ec4f1..91e898a0 100644 --- a/src/app/admin/(dashboard)/_state/desa/potensi.ts +++ b/src/app/admin/(dashboard)/_state/desa/potensi.ts @@ -6,7 +6,7 @@ import { z } from "zod"; const templateForm = z.object({ name: z.string().min(1).max(50), - deskripsi: z.string().min(1).max(50), + deskripsi: z.string().min(1).max(5000), kategori: z.string().min(1).max(50), imageId: z.string().min(1).max(50), content: z.string().min(1).max(5000), diff --git a/src/app/admin/(dashboard)/_state/desa/profile.ts b/src/app/admin/(dashboard)/_state/desa/profile.ts index d00e50e9..07142d72 100644 --- a/src/app/admin/(dashboard)/_state/desa/profile.ts +++ b/src/app/admin/(dashboard)/_state/desa/profile.ts @@ -690,7 +690,7 @@ const profilPerbekel = proxy({ this.error = null; try { - const response = await fetch(`/api/desa/profile/profil-perbekel/${id}`); + const response = await fetch(`/api/desa/profile/profileperbekel/${id}`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); @@ -762,7 +762,7 @@ const profilPerbekel = proxy({ try { const response = await fetch( - `/api/desa/profile/profil-perbekel/${this.id}`, + `/api/desa/profile/profileperbekel/${this.id}`, { method: "PUT", headers: { "Content-Type": "application/json" }, diff --git a/src/app/admin/(dashboard)/desa/berita/[id]/edit/page.tsx b/src/app/admin/(dashboard)/desa/berita/[id]/edit/page.tsx index a753aede..b5ea38d1 100644 --- a/src/app/admin/(dashboard)/desa/berita/[id]/edit/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/[id]/edit/page.tsx @@ -125,16 +125,6 @@ function EditBerita() { placeholder="masukkan judul" /> - { - setFormData({ - ...formData, - kategoriBeritaId: val?.id || '' - }); - }} - /> - setFormData({ ...formData, deskripsi: e.target.value })} @@ -174,6 +164,16 @@ function EditBerita() { /> + { + setFormData({ + ...formData, + kategoriBeritaId: val?.id || '' + }); + }} + /> + diff --git a/src/app/admin/(dashboard)/desa/berita/create/page.tsx b/src/app/admin/(dashboard)/desa/berita/create/page.tsx index f27cc51f..4f5e7dff 100644 --- a/src/app/admin/(dashboard)/desa/berita/create/page.tsx +++ b/src/app/admin/(dashboard)/desa/berita/create/page.tsx @@ -63,9 +63,9 @@ export default function CreateBerita() { return ( - + @@ -79,8 +79,9 @@ export default function CreateBerita() { placeholder="masukkan judul" /> { - beritaState.berita.create.form.kategoriBeritaId = val.id; + beritaState.berita.create.form.kategoriBeritaId = val?.id || ""; }} /> Konten { - beritaState.berita.create.form.content = htmlContent; - }} + value={beritaState.berita.create.form.content} + onChange={(htmlContent) => { + beritaState.berita.create.form.content = htmlContent; + }} /> @@ -126,26 +127,37 @@ export default function CreateBerita() { ); - function SelectCategory({ - onChange, - }: { + interface SelectCategoryProps { onChange: (value: Prisma.KategoriBeritaGetPayload<{ select: { name: true; id: true; }; - }>) => void; - }) { + }> | null) => void; + value?: string | null; + defaultValue?: string | null; + } + + function SelectCategory({ + onChange, + value, + defaultValue, + }: SelectCategoryProps) { const categoryState = useProxy(stateDashboardBerita.category); - + useShallowEffect(() => { - categoryState.findMany.load(); + categoryState.findMany.load().then(() => { + console.log("Kategori berhasil dimuat:", categoryState.findMany.data); + }); }, []); - + if (!categoryState.findMany.data) { return ; } - + + + const selectedValue = value || defaultValue; + return (