/* 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, 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 CreateEditor from '../../../_com/createEditor'; import grafikSektorUnggulan from '../../../_state/ekonomi/sektor-unggulan-desa'; import { toast } from 'react-toastify'; function CreateSektorUnggulanDesa() { const stateGrafik = useProxy(grafikSektorUnggulan); const [chartData, setChartData] = useState([]); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Helper function to check if HTML content is empty const isHtmlEmpty = (html: string) => { // Remove all HTML tags and check if there's any text content const textContent = html.replace(/<[^>]*>/g, '').trim(); return textContent === ''; }; // Check if form is valid const isFormValid = () => { return ( stateGrafik.create.form.name?.trim() !== '' && !isHtmlEmpty(stateGrafik.create.form.description) && stateGrafik.create.form.value !== null && stateGrafik.create.form.value >= 0 ); }; const resetForm = () => { stateGrafik.create.form = { name: '', description: '', value: 0, }; }; const handleSubmit = async () => { try { setIsSubmitting(true); const id = await stateGrafik.create.create(); if (id) { const idStr = String(id); await stateGrafik.findUnique.load(idStr); if (stateGrafik.findUnique.data) { setChartData([stateGrafik.findUnique.data]); } } resetForm(); router.push('/admin/ekonomi/sektor-unggulan-desa'); } catch (error) { console.error('Error creating sektor unggulan:', error); toast.error('Terjadi kesalahan saat menambahkan sektor unggulan'); } finally { setIsSubmitting(false); } }; return ( {/* Header dengan back button */} Tambah Sektor Unggulan Desa {/* Form */} { stateGrafik.create.form.name = e.currentTarget.value; }} required /> Deskripsi Sektor Unggulan { stateGrafik.create.form.description = val; }} /> { stateGrafik.create.form.value = Number(e.currentTarget.value); }} required /> {/* Tombol Simpan */} ); } export default CreateSektorUnggulanDesa;