"use client" import { useAuthApi } from "@/shared/useApi" import { useRouter } from "next/navigation" import { Button } from "@/shared/components/ui/button" import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/shared/components/ui/dialog" import { ScrollArea } from "@/shared/components/ui/scroll-area" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/shared/components/ui/dropdown-menu" import { Ellipsis, Pencil, Trash2 } from "lucide-react" import { confirm } from "@/shared/components/confirm-dialog" import { toast } from "sonner" import { useFormDialog } from "@/shared/components/form-dialog" import { CustomerForm } from "./customer-form" type CustomerActionsProps = { customerId: string } export function CustomerActions({ customerId }: CustomerActionsProps) { const api = useAuthApi() const router = useRouter() const editDialog = useFormDialog("customer-details-edit") const handleDelete = async () => { const confirmed = await confirm({ title: "Delete Customer", description: "Are you sure you want to delete this customer? This action cannot be undone.", confirmLabel: "Delete", variant: "destructive", }) if (!confirmed) return try { await api.customers.destroy(customerId) toast.success("Customer deleted successfully.") router.push("/sales/customers") } catch { toast.error("Failed to delete customer.") } } return ( <> editDialog.open(customerId)}> Edit Delete { if (!v) editDialog.close() }}> Edit Customer { editDialog.close() router.refresh() }} /> ) }