'use client' import SelectIconProgram from '@/app/admin/(dashboard)/_com/selectIcon'; import kontakDarurat from '@/app/admin/(dashboard)/_state/keamanan/kontak-darurat-keamanan'; 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 { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; function CreateKontakItem() { const kontakState = useProxy(kontakDarurat.kontakDaruratItem); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Check if form is valid const isFormValid = () => { return ( kontakState.create.form.nama?.trim() !== '' && kontakState.create.form.nomorTelepon?.trim() !== '' && kontakState.create.form.icon?.trim() !== '' ); }; const resetForm = () => { kontakState.create.form = { nama: '', icon: '', nomorTelepon: '', }; }; const handleSubmit = async () => { try { setIsSubmitting(true); await kontakState.create.create(); resetForm(); router.push('/admin/keamanan/kontak-darurat/kontak-darurat-item'); } catch (error) { console.error("Error creating kontak darurat item:", error); toast.error("Gagal menambahkan kontak darurat item"); } finally { setIsSubmitting(false); } }; return ( {/* Header */} Tambah Kontak Darurat Item {/* Form */} {/* Input Nama Kategori */} { kontakState.create.form.nama = val.target.value; }} label={Nama Kontak Darurat} placeholder="Masukkan nama kontak darurat" required /> Nomor Telepon Kontak} placeholder="Masukkan nomor telepon" value={kontakState.create.form.nomorTelepon} onChange={(val) => { kontakState.create.form.nomorTelepon = val.target.value; }} required /> Ikon Kontak Darurat Item kontakState.create.form.icon = value} /> {/* Tombol Submit */} {/* Tombol Simpan */} ); } export default CreateKontakItem;