Rewrite datasheet PDF sheet overlay.

Right-side Sheet still mounts PdfViewerPanel only while open; shadcn Sheet stays imported.
This commit is contained in:
2026-09-20 20:11:00 +02:00
parent d4070081c8
commit b3566db828
2 changed files with 62 additions and 0 deletions
@@ -0,0 +1,44 @@
"use client";
import { Sheet, SheetContent, SheetTitle } from "@/components/ui/sheet";
import { PdfViewerPanel } from "./pdf-viewer-panel";
export type PdfViewerSheetProps = {
open: boolean;
onOpenChange: (open: boolean) => void;
projectId: string;
mpn: string | null;
initialPage: number;
highlightQuote?: string;
};
/** Right-side datasheet drawer; mounts the PDF panel only while open. */
export function PdfViewerSheet({
open,
onOpenChange,
projectId,
mpn,
initialPage,
highlightQuote,
}: PdfViewerSheetProps) {
if (!mpn) return null;
return (
<Sheet open={open} onOpenChange={onOpenChange}>
<SheetContent
side="right"
className="sm:max-w-none p-0 flex flex-col"
style={{ maxWidth: "none", width: "fit-content" }}
>
<SheetTitle className="sr-only">{mpn}</SheetTitle>
{open ? (
<PdfViewerPanel
projectId={projectId}
mpn={mpn}
initialPage={initialPage}
highlightQuote={highlightQuote}
/>
) : null}
</SheetContent>
</Sheet>
);
}
@@ -0,0 +1,18 @@
"""Datasheet PDF sheet overlay lives under periscope/src."""
from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
SRC = ROOT / "periscope" / "src" / "frontend" / "src"
def test_pdf_sheet_is_src():
path = SRC / "components/pdf/pdf-viewer-sheet.tsx"
text = path.read_text(encoding="utf-8")
assert "Native Periscope overlay" not in text[:400]
assert "export function PdfViewerSheet" in text
assert "PdfViewerPanel" in text
assert 'side="right"' in text
assert "sr-only" in text