import { PDFViewer } from "@/components";
import { cn } from "@/lib/utils";
import {
Button,
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
Skeleton,
} from "@/ui";
import { IListQuotes_Response_DTO } from "@shared/contexts";
import { t } from "i18next";
import { DownloadIcon, MoreVerticalIcon, PrinterIcon } from "lucide-react";
import printJS from "print-js";
import { useMemo } from "react";
import { Trans } from "react-i18next";
import { useNavigate } from "react-router-dom";
import { useQuotes } from "../hooks";
export const QuotePDFPreview = ({
quote,
className,
}: {
quote?: IListQuotes_Response_DTO;
className: string;
}) => {
const navigate = useNavigate();
const { useReport } = useQuotes();
const {
cancelQuery,
data: reportData,
isLoading: reportIsLoading,
isPending: reportIsPending,
isFetching: reportIsFetching,
} = useReport(quote?.id);
const file = useMemo(() => (reportData ? { data: reportData } : undefined), [reportData]);
if (!quote) {
return (
Select a quote
);
}
if (reportIsLoading || reportIsPending || reportIsFetching) {
return (
);
}
return (
{t("quotes.list.preview.quote")}
{
e.preventDefault();
navigate(`/quotes/edit/${quote.id}`, { relative: "path" });
}}
>
{quote?.reference}
{quote?.date.toString()}
);
};