'use client' import { ModalKonfirmasiHapus } from "@/app/admin/(dashboard)/_com/modalKonfirmasiHapus" import indeksKepuasanState from "@/app/admin/(dashboard)/_state/landing-page/indeks-kepuasan" 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" export default function DetailResponden() { const [modalHapus, setModalHapus] = useState(false) const stateDetail = useProxy(indeksKepuasanState.responden) const router = useRouter() const params = useParams() const [selectedId, setSelectedId] = useState(null) useShallowEffect(() => { stateDetail.findUnique.load(params?.id as string) }, [params?.id]) const handleHapus = () => { if (selectedId) { stateDetail.delete.byId(selectedId) setModalHapus(false) setSelectedId(null) router.push("/admin/landing-page/indeks-kepuasan-masyarakat/responden") } } if (!stateDetail.findUnique.data) { return ( ) } return ( Detail Responden Nama Responden {stateDetail.findUnique.data?.name || '-'} Tanggal { stateDetail.findUnique.data?.tanggal ? new Date(stateDetail.findUnique.data.tanggal).toLocaleDateString('id-ID') : '-' } Jenis Kelamin {stateDetail.findUnique.data?.jenisKelamin?.name || '-'} Rating {stateDetail.findUnique.data?.rating?.name || '-'} Kelompok Umur {stateDetail.findUnique.data?.kelompokUmur?.name || '-'} {/* Modal Hapus */} setModalHapus(false)} onConfirm={handleHapus} text="Apakah anda yakin ingin menghapus responden ini?" /> ) }