/* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client'; import colors from '@/con/colors'; import { Box, Button, Group, Loader, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useProxy } from 'valtio/utils'; import jumlahPendudukMiskin from '../../../_state/ekonomi/jumlah-penduduk-miskin'; import { toast } from 'react-toastify'; export default function CreateJumlahPendudukMiskin() { const stateJPM = useProxy(jumlahPendudukMiskin); const [chartData, setChartData] = useState([]); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); const resetForm = () => { stateJPM.create.form = { year: new Date().getFullYear(), totalPoorPopulation: 0, }; }; const handleSubmit = async () => { try { setIsSubmitting(true); const id = await stateJPM.create.create(); if (id) { const idStr = String(id); await stateJPM.findUnique.load(idStr); if (stateJPM.findUnique.data) { setChartData([stateJPM.findUnique.data]); } } resetForm(); router.push('/admin/ekonomi/jumlah-penduduk-miskin'); } catch (error) { console.error(error) toast.error(error instanceof Error ? error.message : "Gagal menambahkan jumlah penduduk miskin") } finally { setIsSubmitting(false); } }; return ( {/* Header */} Tambah Jumlah Penduduk Miskin {/* Form Paper */} { const value = e.currentTarget.value; stateJPM.create.form.year = value ? Number(value) : 0; }} required /> { stateJPM.create.form.totalPoorPopulation = Number(e.currentTarget.value); }} required /> {/* Tombol Simpan */} ); }