'use client'; import PendapatanAsliDesa from '@/app/admin/(dashboard)/_state/ekonomi/PADesa'; import colors from '@/con/colors'; import { Box, Button, Group, Paper, Stack, TextInput, Title, Tooltip } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useRouter } from 'next/navigation'; import { useProxy } from 'valtio/utils'; function CreatePendapatan() { const pendapatanState = useProxy(PendapatanAsliDesa.pendapatan); const router = useRouter(); const formatRupiah = (value: number | string) => { const number = typeof value === 'number' ? value : Number(value.replace(/\D/g, '')); return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0, }).format(number); }; const unformatRupiah = (value: string) => { return Number(value.replace(/\D/g, '')); }; const resetForm = () => { pendapatanState.create.form = { name: '', value: 0, }; }; const handleSubmit = async () => { await pendapatanState.create.submit(); resetForm(); router.push('/admin/ekonomi/PADesa-pendapatan-asli-desa/pendapatan'); }; return ( {/* Header dengan tombol back + judul */} Tambah Jenis Pendapatan {/* Card Form */} { pendapatanState.create.form.name = val.target.value; }} label="Nama Jenis Pendapatan" placeholder="Masukkan nama jenis pendapatan" required /> { const raw = val.currentTarget.value; const cleanValue = unformatRupiah(raw); pendapatanState.create.form.value = cleanValue; }} label="Nilai" placeholder="Masukkan nilai" required /> ); } export default CreatePendapatan;