76e37e2363
- Created PDFViewerClient component with PDF.js - Uses dynamic import with ssr: false to avoid server-side issues - Full page navigation and zoom controls - Upload or load from URL
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
"use client";
|
|
|
|
import BackToMC from "@/components/mission-control/BackToMC";
|
|
import dynamic from "next/dynamic";
|
|
|
|
// Dynamically import PDFViewer with SSR disabled
|
|
const PDFViewer = dynamic(() => import("@/components/mission-control/PDFViewerClient"), {
|
|
ssr: false,
|
|
loading: () => (
|
|
<div className="flex items-center justify-center h-full">
|
|
<div className="text-center">
|
|
<div className="animate-spin text-6xl mb-4">⏳</div>
|
|
<p className="text-slate-400">Loading PDF viewer...</p>
|
|
</div>
|
|
</div>
|
|
),
|
|
});
|
|
|
|
export default function PdfViewerPage() {
|
|
return (
|
|
<div className="min-h-screen bg-slate-950 text-white flex flex-col">
|
|
{/* Header */}
|
|
<div className="bg-slate-900 border-b border-slate-800 px-6 py-4 flex-shrink-0">
|
|
<h1 className="text-2xl font-bold text-white">📄 PDF Viewer</h1>
|
|
<p className="text-slate-400 text-sm">View and analyze PDF documents</p>
|
|
</div>
|
|
|
|
{/* Content */}
|
|
<div className="flex-1 overflow-hidden">
|
|
<PDFViewer />
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|