'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
{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
);
}