diff --git a/app/mission-control/pdf-viewer/page.tsx b/app/mission-control/pdf-viewer/page.tsx index 4679014..d7a4cfd 100644 --- a/app/mission-control/pdf-viewer/page.tsx +++ b/app/mission-control/pdf-viewer/page.tsx @@ -1,13 +1,14 @@ "use client"; -import BackToMC from "@/components/mission-control/BackToMC"; +import BackToMC from "@/components/mission-control/BackToMC"; import { useState } from "react"; export default function PdfViewerPage() { - const [pdfUrl, setPdfUrl] = useState(null); + const [pdfData, setPdfData] = useState(null); + const [pdfName, setPdfName] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); - const [pdfBase64, setPdfBase64] = useState(null); + const [viewMode, setViewMode] = useState<"embed" | "download">("embed"); const handleFileUpload = async (e: React.ChangeEvent) => { const file = e.target.files?.[0]; @@ -20,13 +21,12 @@ export default function PdfViewerPage() { setLoading(true); setError(null); + setPdfName(file.name); - // Read file as base64 const reader = new FileReader(); reader.onload = (event) => { const base64 = event.target?.result as string; - setPdfBase64(base64); - setPdfUrl(URL.createObjectURL(file)); + setPdfData(base64); setLoading(false); }; reader.onerror = () => { @@ -45,12 +45,23 @@ export default function PdfViewerPage() { try { new URL(input); - setPdfUrl(input); - setPdfBase64(null); + // Use Google Docs viewer for external URLs + const googleViewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(input)}&embedded=true`; + setPdfData(googleViewerUrl); + setPdfName(input.split("/").pop() || "document.pdf"); + setLoading(false); } catch { setError("Invalid URL"); + setLoading(false); } - setLoading(false); + }; + + const handleDownload = () => { + if (!pdfData) return; + const link = document.createElement("a"); + link.href = pdfData; + link.download = pdfName || "document.pdf"; + link.click(); }; return ( @@ -63,7 +74,7 @@ export default function PdfViewerPage() { {/* Toolbar */}
-
+
@@ -109,7 +131,7 @@ export default function PdfViewerPage() {
)} - {!pdfUrl && !loading && ( + {!pdfData && !loading && (
📄
@@ -133,13 +155,39 @@ export default function PdfViewerPage() {
)} - {pdfUrl && !loading && ( -
-