diff --git a/src/app/[locale]/watch-doc/page.tsx b/src/app/[locale]/watch-doc/page.tsx index adcf797..5b10258 100644 --- a/src/app/[locale]/watch-doc/page.tsx +++ b/src/app/[locale]/watch-doc/page.tsx @@ -57,7 +57,7 @@ export default async function Page({ searchParams }: PageProps) { error = 'Не удалось загрузить информацию о документе'; } - const documentTitle = title || 'FileName'; + const documentTitle = response?.fileName || 'FileName'; if (error || !response) { return ( @@ -132,6 +132,7 @@ export default async function Page({ searchParams }: PageProps) { diff --git a/src/app/components/PdfViewer.tsx b/src/app/components/PdfViewer.tsx index c32d4ba..22a40e1 100644 --- a/src/app/components/PdfViewer.tsx +++ b/src/app/components/PdfViewer.tsx @@ -2,13 +2,15 @@ import { useEffect, useRef, useState } from 'react'; import { usePdf } from '@/app/contexts/PdfContext'; +import { requestFileAsBuffer } from '@/app/actions/trackingActions'; interface PdfViewerProps { fileId: string; fileName?: string; + showDownload?: boolean; } -export default function PdfViewer({ fileId, fileName = 'document.pdf' }: PdfViewerProps) { +export default function PdfViewer({ fileId, fileName = 'document.pdf', showDownload }: PdfViewerProps) { const canvasRef = useRef(null); const [currentPage, setCurrentPage] = useState(1); const [totalPages, setTotalPages] = useState(0); @@ -26,16 +28,17 @@ export default function PdfViewer({ fileId, fileName = 'document.pdf' }: PdfView const loadAndDisplayPdf = async () => { try { setLoading(true); - - // 1. Получаем данные документа как ArrayBuffer (а не blob URL) - const { requestFileAsBuffer } = await import('@/app/actions/trackingActions'); const pdfData = await requestFileAsBuffer(fileId); if (!pdfData) { throw new Error('Failed to load document'); } - setPdfData(pdfData, fileName); + //это нужно для скачивания так-как иначе pdfData теряется для скачивания + if (showDownload) { + const pdfDataForDownload = pdfData.slice(0); + setPdfData(pdfDataForDownload, fileName); + } if (!isMounted) return;