'use client' /* eslint-disable react-hooks/exhaustive-deps */ import stateDesaPengumuman from '@/app/admin/(dashboard)/_state/desa/pengumuman'; import colors from '@/con/colors'; import { Box, Container, Group, Paper, Stack, Text } from '@mantine/core'; import { IconCalendar } from '@tabler/icons-react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../layanan/_com/BackButto'; import { useEffect } from 'react'; import { useParams } from 'next/navigation'; function Page() { const unwrappedParams = useParams(); const kategoriState = useProxy(stateDesaPengumuman); const categoryName = decodeURIComponent(unwrappedParams.name as string); useEffect(() => { kategoriState.category.findUnique.load(categoryName); kategoriState.pengumuman.findMany.load(1, 10, '', categoryName); }, [categoryName]); return ( {/* Header */} {categoryName.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1) ).join(' ')} Informasi dan pengumuman resmi terkait {categoryName.split('-').join(' ')} {!kategoriState.pengumuman.findMany.data?.length ? ( Tidak ada pengumuman yang ditemukan ) : kategoriState.pengumuman.findMany.data?.map((v, k) => { return ( {v.judul} {v.createdAt ? new Date(v.createdAt).toLocaleDateString('id-ID', { day: 'numeric', month: 'long', year: 'numeric', }) : 'No date available'} {v.deskripsi} ) })} ); } export default Page;