'use client' import colors from '@/con/colors'; import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip, Image } from '@mantine/core'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import React, { useState } from 'react'; import programKesehatan from '../../../_state/kesehatan/program-kesehatan/programKesehatan'; import { useProxy } from 'valtio/utils'; import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; function DetailProgramKesehatan() { const state = useProxy(programKesehatan); const [modalHapus, setModalHapus] = useState(false); const [selectedId, setSelectedId] = useState(null); const router = useRouter(); const params = useParams(); useShallowEffect(() => { state.findUnique.load(params?.id as string); }, []); const handleHapus = () => { if (selectedId) { state.delete.byId(selectedId); setModalHapus(false); setSelectedId(null); router.push("/admin/kesehatan/program-kesehatan"); } }; if (!state.findUnique.data) { return ( ); } const data = state.findUnique.data; return ( {/* Tombol kembali */} Detail Program Kesehatan Judul {data?.name || '-'} Deskripsi Singkat Deskripsi Gambar {data?.image?.link ? ( gambar program kesehatan ) : ( - )} {/* Modal Hapus */} setModalHapus(false)} onConfirm={handleHapus} text="Apakah Anda yakin ingin menghapus program kesehatan ini?" /> ); } export default DetailProgramKesehatan;