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()}
); };