import { Pencil, Eye, Trash2 } from "lucide-react";
import { Button } from "@/Components/ui/button";
import { Link, useForm } from "@inertiajs/react";
import type { PurchaseOrder } from "@/types/purchase-order";
import { toast } from "sonner";

export function PurchaseOrderActions({
    order,
}: { order: PurchaseOrder }) {
    const { delete: destroy, processing } = useForm({});

    const handleDelete = () => {
        if (confirm(`確定要刪除採購單 ${order.poNumber} 嗎？`)) {
            // @ts-ignore
            destroy(route('purchase-orders.destroy', order.id), {
                onSuccess: () => toast.success("採購單已成功刪除"),
                onError: (errors: any) => toast.error(errors.error || "刪除過程中發生錯誤"),
            });
        }
    };

    return (
        <div className="flex justify-center gap-2">
            <Link href={`/purchase-orders/${order.id}`}>
                <Button
                    variant="outline"
                    size="sm"
                    className="button-outlined-primary h-8 w-8 p-0"
                    title="查看採購單"
                >
                    <Eye className="h-4 w-4" />
                </Button>
            </Link>
            <Link href={`/purchase-orders/${order.id}/edit`}>
                <Button
                    variant="outline"
                    size="sm"
                    className="button-outlined-primary h-8 w-8 p-0"
                    title="編輯採購單"
                >
                    <Pencil className="h-4 w-4" />
                </Button>
            </Link>
            <Button
                variant="outline"
                size="sm"
                className="button-outlined-error h-8 w-8 p-0"
                title="刪除採購單"
                onClick={handleDelete}
                disabled={processing}
            >
                <Trash2 className="h-4 w-4" />
            </Button>
        </div>
    );
}
