/* eslint-disable react-hooks/exhaustive-deps */ 'use client' import colors from '@/con/colors'; import { Box, Button, Center, Pagination, Paper, Skeleton, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text, Title } from '@mantine/core'; import { IconDeviceImacCog, IconSearch } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { useProxy } from 'valtio/utils'; import HeaderSearch from '../../../_com/header'; import stateLayananDesa from '../../../_state/desa/layananDesa'; function AjukanPermohonan() { const [search, setSearch] = useState(""); return ( } value={search} onChange={(e) => setSearch(e.currentTarget.value)} /> ); } function ListAjukanPermohonan({ search }: { search: string }) { const AjukanPermohonanState = useProxy(stateLayananDesa.ajukanPermohonan); const router = useRouter(); const { data, page, totalPages, loading, load, } = AjukanPermohonanState.findMany; useEffect(() => { load(page, 10, search); }, [page, search]); // Loading state if (loading || !data) { return ( ); } return ( List Ajukan Permohonan Nama Alamat NIK Aksi {data.length > 0 ? ( data.map((item) => ( {item.nama} {item.alamat} {item.nik} )) ) : (
Tidak ada data ajukan permohonan yang cocok
)}
{ load(newPage, 10, search); window.scrollTo({ top: 0, behavior: 'smooth' }); }} total={totalPages} mt="md" mb="md" color="blue" radius="md" />
); } export default AjukanPermohonan;