'use client' import laporanPublikState from '@/app/admin/(dashboard)/_state/keamanan/laporan-publik'; import colors from '@/con/colors'; import { Box, Button, Center, ColorSwatch, Flex, Group, Modal, Pagination, Paper, SimpleGrid, Skeleton, Stack, Text, TextInput, Title } from '@mantine/core'; import { DateTimePicker } from '@mantine/dates'; import { useDebouncedValue, useDisclosure, useShallowEffect } from '@mantine/hooks'; import { IconArrowRight, IconPlus } from '@tabler/icons-react'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import BackButton from '../../desa/layanan/_com/BackButto'; import { useTransitionRouter } from 'next-view-transitions'; import CreateEditor from '@/app/admin/(dashboard)/_com/createEditor'; function Page() { const [search, setSearch] = useState(""); const router = useTransitionRouter() const [debouncedSearch] = useDebouncedValue(search, 500); const [opened, { open, close }] = useDisclosure(false); const stateLaporan = useProxy(laporanPublikState); const { data, page, totalPages, loading, load, } = stateLaporan.findMany; useShallowEffect(() => { load(page, 6, debouncedSearch); }, [page, debouncedSearch]); if (loading || !data) { return ( ); } const resetForm = () => { stateLaporan.create.form = { judul: '', lokasi: '', tanggalWaktu: '', kronologi: '', }; }; const handleSubmit = async () => { await stateLaporan.create.create(); resetForm(); }; return ( setSearch(e.currentTarget.value)} /> Laporan Keamanan Lingkungan Laporan Terbaru Terselesaikan Dalam Proses Gagal {data.map((v, k) => { return ( {v.judul} {v.tanggalWaktu ? new Date(v.tanggalWaktu).toLocaleString('id-ID') : '-'} Penanganan: {v.penanganan?.length ? ( v.penanganan.map((item, index) => ( )) ) : ( Belum ada penanganan )} {v.status} ) })}
load(newPage)} total={totalPages} my="md" />
(stateLaporan.create.form.judul = e.target.value)} label={Judul Laporan Publik} placeholder="Masukkan judul laporan publik" required /> (stateLaporan.create.form.lokasi = e.target.value)} label={Lokasi Laporan Publik} placeholder="Masukkan lokasi laporan publik" required /> Tanggal Laporan Publik} value={ stateLaporan.create.form.tanggalWaktu ? new Date(stateLaporan.create.form.tanggalWaktu) : null } onChange={(val) => { stateLaporan.create.form.tanggalWaktu = val ? val.toString() : ''; }} /> Kronologi { stateLaporan.create.form.kronologi = htmlContent; }} />
); } export default Page;