/* eslint-disable react-hooks/exhaustive-deps */ 'use client' import layananonlineDesa from '@/app/admin/(dashboard)/_state/inovasi/layanan-online-desa'; import colors from '@/con/colors'; import { Box, Button, Modal, Paper, Select, Stack, Text, TextInput, Title, } from '@mantine/core'; import { useDisclosure } from '@mantine/hooks'; import { IconFileCheckFilled } from '@tabler/icons-react'; import { motion } from 'framer-motion'; import { useEffect } from 'react'; import { useProxy } from 'valtio/utils'; function AdministrasiOnline() { const [opened, { open, close }] = useDisclosure(false); const state = useProxy(layananonlineDesa); // Check if form is valid const isFormValid = () => { return ( state.administrasiOnline.create.form.name?.trim() !== '' && state.administrasiOnline.create.form.alamat?.trim() !== '' && state.administrasiOnline.create.form.nomorTelepon?.trim() !== '' && state.administrasiOnline.create.form.jenisLayananId?.trim() !== '' ); }; useEffect(() => { // ✅ Panggil load data jenis layanan dari backend if (!state.jenisLayanan.findMany.data) { state.jenisLayanan.findMany.load(); } }, []); const resetForm = () => { state.administrasiOnline.create.form = { name: '', alamat: '', nomorTelepon: '', jenisLayananId: '', }; }; const handleSubmit = async () => { await state.administrasiOnline.create.create(); resetForm(); close(); // Tutup modal setelah submit }; return ( Administrasi Online Pengurusan surat dan dokumen secara digital tanpa perlu datang ke kantor desa Ajukan Administrasi Online Nama} placeholder="Masukkan nama" onChange={(val) => (state.administrasiOnline.create.form.name = val.target.value)} /> Alamat} placeholder="Masukkan alamat" onChange={(val) => (state.administrasiOnline.create.form.alamat = val.target.value)} /> Nomor Telepon} placeholder="Masukkan nomor telepon" onChange={(val) => (state.administrasiOnline.create.form.nomorTelepon = val.target.value)} />