'use client' import colors from '@/con/colors'; import { Box, Button, Paper, Stack, Text, Skeleton, Tooltip, Group, Image, } from '@mantine/core'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import React, { useState } from 'react'; import infoWabahPenyakit from '../../../_state/kesehatan/info-wabah-penyakit/infoWabahPenyakit'; import { useProxy } from 'valtio/utils'; import { useShallowEffect } from '@mantine/hooks'; import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; function DetailInfoWabahPenyakit() { const state = useProxy(infoWabahPenyakit); 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/info-wabah-penyakit'); } }; if (!state.findUnique.data) { return ( ); } const data = state.findUnique.data; return ( {/* Tombol Back */} {/* Wrapper Detail */} Detail Info Wabah Penyakit Judul {data.name || '-'} Deskripsi Singkat Deskripsi Lengkap Gambar {data.image?.link ? ( gambar wabah ) : ( - )} {/* Aksi */} {/* Modal Konfirmasi Hapus */} setModalHapus(false)} onConfirm={handleHapus} text="Apakah anda yakin ingin menghapus info wabah penyakit ini?" /> ); } export default DetailInfoWabahPenyakit;