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 ? ( + {data.nama} + ) : ( + + 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 || '-'} ))} - + )}