'use client'; import colors from '@/con/colors'; import { Box, Button, Group, Loader, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { DateTimePicker } from '@mantine/dates'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useProxy } from 'valtio/utils'; import laporanPublikState from '../../../_state/keamanan/laporan-publik'; import { useState } from 'react'; import { toast } from 'react-toastify'; export type Status = 'Selesai' | 'Proses' | 'Gagal'; function CreateLaporanPublik() { const stateLaporan = useProxy(laporanPublikState); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Check if form is valid const isFormValid = () => { return ( stateLaporan.create.form.judul?.trim() !== '' && stateLaporan.create.form.lokasi?.trim() !== '' && stateLaporan.create.form.tanggalWaktu?.trim() !== '' && stateLaporan.create.form.kronologi?.trim() !== '' ); }; const resetForm = () => { stateLaporan.create.form = { judul: '', lokasi: '', tanggalWaktu: '', kronologi: '', }; }; const handleSubmit = async () => { try { setIsSubmitting(true); await stateLaporan.create.create(); resetForm(); router.push('/admin/keamanan/laporan-publik'); } catch (error) { console.error('Error creating laporan publik:', error); toast.error('Terjadi kesalahan saat membuat laporan publik'); } finally { setIsSubmitting(false); } }; return ( {/* Header with Back Button */} Tambah Laporan Publik {/* Form Card */} (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() : ''; }} /> (stateLaporan.create.form.kronologi = e.target.value)} label={Kronologi Laporan Publik} placeholder="Masukkan kronologi laporan publik" required /> {/* Tombol Simpan */} ); } export default CreateLaporanPublik;