/* eslint-disable @typescript-eslint/no-explicit-any */ 'use client' import colors from '@/con/colors'; import { Box, Button, Group, Loader, Paper, Stack, Text, 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 dataPendidikan from '../../../_state/pendidikan/data-pendidikan'; import { toast } from 'react-toastify'; export default function CreateDataPendidikan() { const stateDPM = useProxy(dataPendidikan); const [chartData, setChartData] = useState([]); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Check if form is valid const isFormValid = () => { return ( stateDPM.create.form.name?.trim() !== '' && stateDPM.create.form.jumlah?.trim() !== '' ); }; const resetForm = () => { stateDPM.create.form = { name: '', jumlah: '' }; }; const handleSubmit = async () => { try { setIsSubmitting(true); const id = await stateDPM.create.create(); if (id) { const idStr = String(id); await stateDPM.findUnique.load(idStr); if (stateDPM.findUnique.data) setChartData([stateDPM.findUnique.data]); } resetForm(); router.push('/admin/pendidikan/data-pendidikan'); } catch (error) { console.error("Error creating data pendidikan:", error); toast.error("Terjadi kesalahan saat menambahkan data pendidikan"); } finally { setIsSubmitting(false); } }; return ( Tambah Data Pendidikan (stateDPM.create.form.name = e.currentTarget.value)} radius="md" required /> (stateDPM.create.form.jumlah = e.currentTarget.value)} radius="md" type="number" required /> {/* Tombol Batal */} {/* Tombol Simpan */} {chartData.length === 0 && ( Data belum tersedia. Silakan tambahkan data pendidikan baru. )} ); }