diff --git a/src/app/darmasaba/(pages)/ekonomi/PADesa-pendapatan-asli-desa/page.tsx b/src/app/darmasaba/(pages)/ekonomi/PADesa-pendapatan-asli-desa/page.tsx
index e7eb3562..de14a1e1 100644
--- a/src/app/darmasaba/(pages)/ekonomi/PADesa-pendapatan-asli-desa/page.tsx
+++ b/src/app/darmasaba/(pages)/ekonomi/PADesa-pendapatan-asli-desa/page.tsx
@@ -1,167 +1,3 @@
-// 'use client'
-// import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa';
-// import colors from '@/con/colors';
-// import { Box, Grid, GridCol, Paper, SimpleGrid, Stack, Text, Title } from '@mantine/core';
-// import { useProxy } from 'valtio/utils';
-// import BackButton from '../../desa/layanan/_com/BackButto';
-// import { useShallowEffect } from '@mantine/hooks';
-
-
-// function Page() {
-// const state = useProxy(PendapatanAsliDesa.ApbDesa);
-
-// useShallowEffect(() => {
-// state.findMany.load();
-// }, []);
-
-// useShallowEffect(() => {
-// PendapatanAsliDesa.pembiayaan.findMany.load();
-// PendapatanAsliDesa.belanja.findMany.load();
-// PendapatanAsliDesa.pendapatan.findMany.load();
-// }, []);
-
-// // Get the latest APB data
-// const latestApb = state.findMany.data?.[0];
-
-// // Calculate totals
-// const totalPendapatan = latestApb?.pendapatan?.reduce((sum, item) => sum + (item?.value || 0), 0) || 0;
-// const totalBelanja = latestApb?.belanja?.reduce((sum, item) => sum + (item?.value || 0), 0) || 0;
-// const totalPembiayaan = latestApb?.pembiayaan?.reduce((sum, item) => sum + (item?.value || 0), 0) || 0;
-
-
-// return (
-//
-//
-//
-//
-//
-// Pendapatan Asli Desa
-//
-//
-//
-//
-//
-// {/* Pendapatan Card */}
-//
-//
-// Pendapatan
-// {PendapatanAsliDesa.pendapatan.findMany.data?.map((item) => (
-//
-//
-//
-// {item.name}
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(item.value)}
-//
-//
-//
-// ))}
-//
-//
-// Total Pendapatan
-//
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(totalPendapatan)}
-//
-//
-//
-//
-//
-
-// {/* Belanja Card */}
-//
-//
-// Belanja
-// {PendapatanAsliDesa.belanja.findMany.data?.map((item) => (
-//
-//
-//
-// {item.name}
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(item.value)}
-//
-//
-//
-// ))}
-//
-//
-// Total Belanja
-//
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(totalBelanja)}
-//
-//
-//
-//
-//
-
-// {/* Pembiayaan Card */}
-//
-//
-// Pembiayaan
-// {PendapatanAsliDesa.pembiayaan.findMany.data?.map((item) => (
-//
-//
-//
-// {item.name}
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(item.value)}
-//
-//
-//
-// ))}
-//
-//
-// Total Pembiayaan
-//
-//
-//
-// {new Intl.NumberFormat('id-ID', {
-// style: 'currency',
-// currency: 'IDR',
-// minimumFractionDigits: 0
-// }).format(totalPembiayaan)}
-//
-//
-//
-//
-//
-
-//
-//
-//
-//
-//
-// );
-// }
-
-// export default Page;
-
'use client'
import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa';
import colors from '@/con/colors';
@@ -206,32 +42,41 @@ function Page() {
- {/* Pendapatan Card */}
-
+ {/* Pendapatan Card */}
+
Pendapatan
- {PendapatanAsliDesa.pendapatan.findMany.data?.map((item) => (
+ {latestApb?.pendapatan?.map((item) => (
-
+
{item.name}
-
- {new Intl.NumberFormat('id-ID', {
- style: 'currency',
- currency: 'IDR',
- minimumFractionDigits: 0
- }).format(item.value)}
+
+
+ {new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }).format(item.value)}
+
))}
-
+
Total Pendapatan
-
-
+
+
{new Intl.NumberFormat('id-ID', {
style: 'currency',
currency: 'IDR',
@@ -247,18 +92,28 @@ function Page() {
Belanja
- {PendapatanAsliDesa.belanja.findMany.data?.map((item) => (
+ {latestApb?.belanja?.map((item) => (
-
+
{item.name}
-
- {new Intl.NumberFormat('id-ID', {
- style: 'currency',
- currency: 'IDR',
- minimumFractionDigits: 0
- }).format(item.value)}
+
+
+ {new Intl.NumberFormat('id-ID', {
+ style: 'currency',
+ currency: 'IDR',
+ minimumFractionDigits: 0
+ }).format(item.value)}
+
@@ -284,18 +139,28 @@ function Page() {
Pembiayaan
- {PendapatanAsliDesa.pembiayaan.findMany.data?.map((item) => (
+ {latestApb?.pembiayaan?.map((item) => (
-
+
{item.name}
-
- {new Intl.NumberFormat('id-ID', {
- style: 'currency',
- currency: 'IDR',
- minimumFractionDigits: 0
- }).format(item.value)}
+
+
+ {new Intl.NumberFormat('id-ID', {
+ style: 'currency',
+ currency: 'IDR',
+ minimumFractionDigits: 0
+ }).format(item.value)}
+
@@ -366,5 +231,4 @@ function Page() {
);
}
-export default Page;
-
+export default Page;
\ No newline at end of file
diff --git a/src/app/darmasaba/(pages)/ekonomi/pasar-desa/[id]/page.tsx b/src/app/darmasaba/(pages)/ekonomi/pasar-desa/[id]/page.tsx
new file mode 100644
index 00000000..f46e8ff7
--- /dev/null
+++ b/src/app/darmasaba/(pages)/ekonomi/pasar-desa/[id]/page.tsx
@@ -0,0 +1,155 @@
+'use client'
+import colors from '@/con/colors';
+import { Box, Button, Paper, Stack, Text, Image, Skeleton, Group, Badge, Divider } from '@mantine/core';
+import { IconArrowBack, IconMapPin, IconPhone, IconStar } from '@tabler/icons-react';
+import { useRouter, useParams } from 'next/navigation';
+import React from 'react';
+import { useProxy } from 'valtio/utils';
+import { useShallowEffect } from '@mantine/hooks';
+import pasarDesaState from '@/app/admin/(dashboard)/_state/ekonomi/pasar-desa/pasar-desa';
+
+function DetailProdukPasarUser() {
+ const router = useRouter();
+ const params = useParams();
+ const statePasar = useProxy(pasarDesaState);
+
+ useShallowEffect(() => {
+ statePasar.pasarDesa.findUnique.load(params?.id as string);
+ }, []);
+
+ const data = statePasar.pasarDesa.findUnique.data;
+
+ if (!data) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+ {/* Tombol kembali */}
+
+
+
+
+ {/* Gambar Produk */}
+ {data.image?.link ? (
+
+ ) : (
+
+ Tidak ada gambar
+
+ )}
+
+ {/* Detail Produk */}
+
+
+ {data.nama || 'Produk Tanpa Nama'}
+
+
+
+ Rp {data.harga?.toLocaleString('id-ID')}
+
+ {data.rating && (
+
+
+ {data.rating}
+
+ )}
+
+
+
+
+
+ {/* Info Tambahan */}
+
+
+ Kategori
+
+ {data.KategoriToPasar && data.KategoriToPasar.length > 0 ? (
+ data.KategoriToPasar.map((kategori) => (
+
+ {kategori.kategori.nama}
+
+ ))
+ ) : (
+ Tidak ada kategori
+ )}
+
+
+
+ {data.alamatUsaha && (
+
+
+ {data.alamatUsaha}
+
+ )}
+
+ {data.kontak && (
+
+
+ {data.kontak}
+
+ )}
+
+
+
+
+ {/* Deskripsi */}
+
+ Deskripsi Produk
+
+ Tidak ada deskripsi.
+
+
+
+ {/* Tombol Aksi User */}
+ {data.kontak && (
+
+ )}
+
+
+
+ );
+}
+
+export default DetailProdukPasarUser;
diff --git a/src/app/darmasaba/(pages)/ekonomi/pasar-desa/page.tsx b/src/app/darmasaba/(pages)/ekonomi/pasar-desa/page.tsx
index 6138e199..57a5bc23 100644
--- a/src/app/darmasaba/(pages)/ekonomi/pasar-desa/page.tsx
+++ b/src/app/darmasaba/(pages)/ekonomi/pasar-desa/page.tsx
@@ -105,7 +105,7 @@ function Page() {
return (
router.push(`https://wa.me/${v.kontak?.replace(/\D/g, '')}`)}
+ onClick={() => router.push(`/darmasaba/ekonomi/pasar-desa/${v.id}`)}
whileHover={{ scale: 1.05 }}
whileTap={{ scale: 0.8 }}
>
diff --git a/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx b/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx
index b78e8a60..c47c298b 100644
--- a/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx
+++ b/src/app/darmasaba/(pages)/kesehatan/info-wabah-penyakit/page.tsx
@@ -129,9 +129,7 @@ function Page() {
-
- {v.deskripsiSingkat}
-
+
diff --git a/src/app/darmasaba/(pages)/pendidikan/info-sekolah/[jenjangPendidikan]/pengajar/page.tsx b/src/app/darmasaba/(pages)/pendidikan/info-sekolah/[jenjangPendidikan]/pengajar/page.tsx
index 6e67dd47..573ea65e 100644
--- a/src/app/darmasaba/(pages)/pendidikan/info-sekolah/[jenjangPendidikan]/pengajar/page.tsx
+++ b/src/app/darmasaba/(pages)/pendidikan/info-sekolah/[jenjangPendidikan]/pengajar/page.tsx
@@ -84,7 +84,7 @@ function Page({ params }: PageProps) {
Nama Pengajar
Nama Lembaga
- Jenjang Pendidikan
+ Mengajar Di Jenjang Pendidikan
@@ -95,7 +95,7 @@ function Page({ params }: PageProps) {
{item.lembaga.jenjangPendidikan?.nama || '-'}
))}
-
+
)}