'use client' import posyandustate from "@/app/admin/(dashboard)/_state/kesehatan/posyandu/posyandu"; import colors from "@/con/colors"; import { Badge, Box, Center, Flex, Group, Image, List, ListItem, Pagination, Paper, SimpleGrid, Skeleton, Spoiler, Stack, Text, TextInput } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { IconCalendar, IconInfoCircle, IconPhone, IconSearch } from "@tabler/icons-react"; import { useState } from "react"; import { useProxy } from "valtio/utils"; import BackButton from "../../desa/layanan/_com/BackButto"; export default function Page() { const state = useProxy(posyandustate); const [search, setSearch] = useState(""); const { data, page, totalPages, loading, load } = state.findMany; useShallowEffect(() => { load(page, 6, search); }, [page, search]); if (loading || !data) { return ( ); } if (data.length === 0) { return ( Tidak ada posyandu yang ditemukan ); } return ( Posyandu Desa Darmasaba } w={{ base: "100%", md: "35%" }} value={search} onChange={(e) => setSearch(e.currentTarget.value)} /> {data?.map((v, k) => ( { (e.currentTarget as HTMLElement).style.transform = "translateY(-4px)"; (e.currentTarget as HTMLElement).style.boxShadow = "0 8px 24px rgba(0,0,0,0.12)"; }} onMouseLeave={(e) => { (e.currentTarget as HTMLElement).style.transform = "translateY(0)"; (e.currentTarget as HTMLElement).style.boxShadow = "0 4px 12px rgba(0,0,0,0.08)"; }} > {v.name} Aktif
{`Gambar
{v.nomor || "Tidak tersedia"} Jadwal:{" "}
))}
{totalPages > 1 && (
load(newPage)} total={totalPages} radius="lg" size="md" withControls mt="md" />
)} Layanan Utama Posyandu Penimbangan bayi dan balita Pemantauan status gizi Imunisasi dasar lengkap Konseling kesehatan Pemantauan kesehatan ibu hamil
); }