'use client' import { useActionState, useEffect, useState } from 'react' import { useRouter } from 'next/navigation' import { updateAkunBalita, deleteAkunBalita } from '@/app/actions' import { User, MapPin, Phone, Baby, Calendar, Lock, AtSign, Trash2 } from 'lucide-react' interface AkunBalita { id: string nama_orang_tua: string alamat: string | null no_whatsapp: string | null nama_anak: string tanggal_lahir: string | null username: string password: string } interface Props { pengguna: AkunBalita } import { showSwal } from '@/lib/swal' export function EditPenggunaForm({ pengguna }: Props) { const router = useRouter() const [state, formAction, isPending] = useActionState(updateAkunBalita, null) const [isDeleting, setIsDeleting] = useState(false) const handleDelete = async () => { const confirmed = await showSwal.confirm( 'Hapus Akun Pengguna?', 'Tindakan ini akan menghapus akun balita dan seluruh riwayat pemeriksaan stunting terkait secara permanen!' ) if (confirmed.isConfirmed) { setIsDeleting(true) try { const res = await deleteAkunBalita(pengguna.id) if (res.success) { await showSwal.success('Berhasil!', res.message) router.push('/dashboard/manajemen-akun/pengguna') } else { showSwal.error('Gagal!', res.message) } } catch (err: any) { showSwal.error('Gagal!', err.message || 'Terjadi kesalahan.') } finally { setIsDeleting(false) } } } useEffect(() => { if (state) { if (state.success) { showSwal.success('Berhasil!', state.message) } else { showSwal.error('Gagal!', state.message) } } }, [state]) const inputClass = "border-2 border-gray-200 rounded-lg p-3 focus:outline-none focus:border-black transition-colors w-full text-sm" const labelClass = "text-sm font-bold flex items-center gap-2 mb-1" return ( <>
{/* Section: Data Orang Tua */}

Data Orang Tua

{/* Nama Orang Tua */}
{/* No WhatsApp */}
{/* Alamat */}