'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, MultiSelect, Paper, Stack, Text, TextInput, Title } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; 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 CreateKontakDaruratKeamanan() { const kontakState = useProxy(kontakDarurat.kontakDaruratKeamananState); const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); // Check if form is valid const isFormValid = () => { return ( kontakState.create.form.nama?.trim() !== '' && kontakState.create.form.icon?.trim() !== '' ); }; useShallowEffect(() => { kontakDarurat.kontakDaruratItem.findMany.load(); }, []); const resetForm = () => { kontakState.create.form = { nama: '', icon: '', kategoriId: [] }; }; const handleSubmit = async () => { try { setIsSubmitting(true); await kontakState.create.create(); resetForm(); router.push('/admin/keamanan/kontak-darurat/kontak-darurat-keamanan'); } catch (error) { console.error('Error creating kontak darurat:', error); toast.error('Terjadi kesalahan saat menambah kontak darurat'); } finally { setIsSubmitting(false); } }; return ( {/* Header */} Tambah Kontak Darurat Keamanan {/* Form */} {/* Input Nama Kategori */} { kontakState.create.form.nama = val.target.value; }} label={Nama Kategori Darurat} placeholder="Masukkan nama kategori darurat" required /> Ikon Kontak Darurat kontakState.create.form.icon = value} /> { kontakState.create.form.kategoriId = val; }} label={Kontak Item} placeholder='Pilih kontak item' data={ kontakDarurat.kontakDaruratItem.findMany.data?.map((v) => ({ value: v.id, label: v.nama })) || [] } /> {/* Tombol Submit */} {/* Tombol Simpan */} ); } export default CreateKontakDaruratKeamanan;