'use client' import { IconKey, IconMapper } from '@/app/admin/(dashboard)/_com/iconMap'; import { ModalKonfirmasiHapus } from '@/app/admin/(dashboard)/_com/modalKonfirmasiHapus'; import kontakDarurat from '@/app/admin/(dashboard)/_state/keamanan/kontak-darurat-keamanan'; import colors from '@/con/colors'; import { Box, Button, Group, Paper, Skeleton, Stack, Text, Tooltip } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import { IconArrowBack, IconEdit, IconTrash } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; function DetailKontakDaruratKeamanan() { const [modalHapus, setModalHapus] = useState(false); const [selectedId, setSelectedId] = useState(null); const router = useRouter(); const params = useParams(); const kontakState = useProxy(kontakDarurat.kontakDaruratKeamananState); useShallowEffect(() => { kontakDarurat.kontakDaruratItem.findMany.load(); kontakState.findUnique.load(params?.id as string); }, []); const handleDelete = () => { if (selectedId) { kontakState.delete.byId(selectedId); setModalHapus(false); setSelectedId(null); router.push("/admin/keamanan/kontak-darurat/kontak-darurat-keamanan"); } }; if (!kontakState.findUnique.data) { return ( ); } const data = kontakState.findUnique.data; return ( {/* Tombol Back */} {/* Wrapper Detail */} Detail Kontak Darurat Keamanan {/* Judul */} Judul Kontak Darurat {data?.nama || '-'} Ikon Program Kreatif Desa {data?.icon && ( )} {/* Kontak Items */} Kontak {data?.kontakItems.map((item, index) => ( {item.kontakItem.nama} {item.kontakItem.nomorTelepon} {item.kontakItem.icon && ( )} ))} {/* Aksi */} {/* Modal Konfirmasi Hapus */} setModalHapus(false)} onConfirm={handleDelete} text="Apakah anda yakin ingin menghapus kontak darurat ini?" /> ); } export default DetailKontakDaruratKeamanan;