"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, Printer, Trash2 } from "lucide-react" import { useFormDialog } from "@/shared/components/form-dialog" import { ExpenseForm } from "./expense-form" import { useDocumentPrint } from "@/shared/hooks/use-document-print" type ExpenseActionsProps = { expenseId: string } export function ExpenseActions({ expenseId }: ExpenseActionsProps) { const api = useAuthApi() const router = useRouter() const editDialog = useFormDialog("expense-details-edit") const { print, isPrinting } = useDocumentPrint() const handleDelete = async () => { await api.expenses.destroy(expenseId) router.push("/purchase/expense") } return ( <> editDialog.open(expenseId)}> Edit print("expense", expenseId, "print")} disabled={isPrinting}> {isPrinting ? "Printing..." : "Print"} Delete { if (!v) editDialog.close() }}> Edit Expense { editDialog.close() router.refresh() }} /> ) }