'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 } 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 DetailKontakDarurat() { const [modalHapus, setModalHapus] = useState(false); const [selectedId, setSelectedId] = useState(null); const router = useRouter(); const params = useParams(); const kontakState = useProxy(kontakDarurat.kontakDaruratItem); useShallowEffect(() => { 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-item"); } }; if (!kontakState.findUnique.data) { return ( ); } const data = kontakState.findUnique.data; return ( {/* Tombol Back */} {/* Wrapper Detail */} Detail Kontak Darurat Item {/* Judul */} Judul Kontak Darurat Item {data?.nama || '-'} Nomor Telepon Kontak Darurat Item {data?.nomorTelepon || '-'} Ikon Kontak Darurat {data?.icon && ( )} {/* Aksi */} {/* Modal Konfirmasi Hapus */} setModalHapus(false)} onConfirm={handleDelete} text="Apakah anda yakin ingin menghapus kontak darurat ini?" /> ); } export default DetailKontakDarurat;