/* eslint-disable react-hooks/exhaustive-deps */ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client' import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa' import apbdes from '@/app/admin/(dashboard)/_state/landing-page/apbdes' import colors from '@/con/colors' import { ActionIcon, BackgroundImage, Box, Center, Container, Group, Loader, SimpleGrid, Stack, Text, Title } from '@mantine/core' import { IconDownload } from '@tabler/icons-react' import { Link } from 'next-view-transitions' import { useEffect, useState } from 'react' import { useProxy } from 'valtio/utils' import BackButton from '../../(pages)/desa/layanan/_com/BackButto' import APBDesProgress from './lib/apbDesaProgress' import APBDesTable from './lib/apbDesaTable' function Page() { const state = useProxy(apbdes) const paDesaState = useProxy(PendapatanAsliDesa.ApbDesa) const [loading, setLoading] = useState(false) useEffect(() => { const loadData = async () => { try { setLoading(true) await state.findMany.load() await paDesaState.findMany.load() } catch (error) { console.error(error) } finally { setLoading(false) } } loadData() }, []) const dataAPBDes = state.findMany.data || [] return ( Anggaran Pendapatan & Belanja Desa (APBDes) Laporan transparansi APBDes Desa Darmasaba sebagai bentuk keterbukaan dan akuntabilitas pengelolaan anggaran desa. {loading ? (
Sedang memuat data APBDes...
) : dataAPBDes.length === 0 ? (
Belum ada data APBDes tersedia Data akan ditampilkan jika sudah diunggah oleh admin desa
) : ( {dataAPBDes.map((v: any, k: number) => ( {v.name} {v.jumlah} ))} )}
) } export default Page