"use client"; import { useActionState, useState } from "react"; import { Loader2Icon, Trash2Icon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { AlertDialog, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "@/components/ui/alert-dialog"; import { hapusPelanggan, type HapusPelangganState } from "../actions"; type HapusPelangganButtonProps = { kdCustomer: string; nama: string; }; const initial: HapusPelangganState = { ok: false }; export function HapusPelangganButton({ kdCustomer, nama, }: HapusPelangganButtonProps) { const [open, setOpen] = useState(false); const [state, formAction, pending] = useActionState( async (prevState: HapusPelangganState, formData: FormData) => { const result = await hapusPelanggan(prevState, formData); if (result.ok) setOpen(false); return result; }, initial, ); return ( } > Hapus Hapus {nama}? Data pelanggan {kdCustomer} akan dihapus permanen.
{state.error && (

{state.error}

)} Batal
); }