'use client' import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa'; import colors from '@/con/colors'; import { Box, Button, Group, Paper, Skeleton, Stack, Text } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; function DetailAPBDesa() { const apbState = useProxy(PendapatanAsliDesa.ApbDesa); const [modalHapus, setModalHapus] = useState(false); const [selectedId, setSelectedId] = useState(null); const params = useParams(); const router = useRouter(); useShallowEffect(() => { apbState.findUnique.load(params?.id as string); }, []); const formatRupiah = (value: number) => new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0, }).format(value); const handleHapus = () => { if (selectedId) { apbState.delete.byId(selectedId); setModalHapus(false); setSelectedId(null); router.push( '/admin/ekonomi/PADesa-pendapatan-asli-desa/apbdesa' ); } }; if (!apbState.findUnique.data) { return ( ); } const data = apbState.findUnique.data; return ( Detail APB Desa Tahun {data.tahun} Detail Pembiayaan {(data?.pembiayaan || []).map((item) => ( {item.name}: {formatRupiah(Number(item.value))} ))} Total:{' '} {formatRupiah( (data?.pembiayaan || []).reduce( (sum, item) => sum + Number(item.value), 0 ) )} Detail Belanja {(data?.belanja || []).map((item) => ( {item.name}: {formatRupiah(Number(item.value))} ))} Total:{' '} {formatRupiah( (data?.belanja || []).reduce( (sum, item) => sum + Number(item.value), 0 ) )} Detail Pendapatan {(data?.pendapatan || []).map((item) => ( {item.name}: {formatRupiah(Number(item.value))} ))} Total:{' '} {formatRupiah( (data?.pendapatan || []).reduce( (sum, item) => sum + Number(item.value), 0 ) )} setModalHapus(false)} onConfirm={handleHapus} text="Apakah Anda yakin ingin menghapus APB Desa ini?" /> ); } export default DetailAPBDesa;