/* 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 demografiPekerjaan from '../../../_state/ekonomi/demografi-pekerjaan'; import { toast } from 'react-toastify'; function CreateDemografiPekerjaan() { const stateDemografi = useProxy(demografiPekerjaan); const [chartData, setChartData] = useState([]); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Check if form is valid const isFormValid = () => { return ( stateDemografi.create.form.pekerjaan?.trim() !== '' && stateDemografi.create.form.lakiLaki !== null && stateDemografi.create.form.lakiLaki >= 0 && stateDemografi.create.form.perempuan !== null && stateDemografi.create.form.perempuan >= 0 ); }; const resetForm = () => { stateDemografi.create.form = { pekerjaan: '', lakiLaki: 0, perempuan: 0, }; }; const handleSubmit = async () => { try { const id = await stateDemografi.create.create(); if (id) { const idStr = String(id); await stateDemografi.findUnique.load(idStr); if (stateDemografi.findUnique.data) { setChartData([stateDemografi.findUnique.data]); } } resetForm(); router.push('/admin/ekonomi/demografi-pekerjaan'); } catch (error) { console.error('Error creating demografi pekerjaan:', error); toast.error('Terjadi kesalahan saat menambah demografi pekerjaan'); } finally { setIsSubmitting(false); } }; return ( {/* Header */} Tambah Demografi Pekerjaan {/* Form */} { stateDemografi.create.form.pekerjaan = val.currentTarget.value; }} required /> { stateDemografi.create.form.lakiLaki = Number(val.currentTarget.value); }} required /> { stateDemografi.create.form.perempuan = Number(val.currentTarget.value); }} required /> {/* Tombol Simpan */} ); } export default CreateDemografiPekerjaan;