'use client' import puskesmasState from '@/app/admin/(dashboard)/_state/kesehatan/puskesmas/puskesmas'; import colors from '@/con/colors'; import { Anchor, Box, Center, Grid, GridCol, Image, Pagination, Paper, SimpleGrid, Skeleton, Stack, Text, TextInput, Badge, Group } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconSearch, IconMapPin, IconPhone, IconMail } from '@tabler/icons-react'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../desa/layanan/_com/BackButto'; function Page() { const state = useProxy(puskesmasState) const [search, setSearch] = useState('') const { data, page, totalPages, loading, load, } = state.findMany; useShallowEffect(() => { load(page, 6, search) }, [page, search]) if (loading || !data) { return ( {Array.from({ length: 6 }).map((_, i) => ( ))} ) } return ( Daftar Puskesmas Temukan informasi lengkap mengenai layanan, kontak, dan lokasi Puskesmas Darmasaba setSearch(e.target.value)} leftSection={} aria-label="Cari Puskesmas" /> {data.length === 0 ? (
Tidak ada data ditemukan Coba gunakan kata kunci pencarian yang berbeda
) : ( {data.map((v, k) => ( {v.name} {v.name} Aktif {v.alamat} {v.kontak.kontakPuskesmas} {v.kontak.email} Lihat detail → ))} )}
{totalPages > 1 && (
load(newPage, 6, search)} total={totalPages} size="md" radius="xl" mt="lg" />
)}
); } export default Page;