"use client"; import { ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, } from "@/components/ui/context-menu"; import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import { useEditor } from "@/hooks/use-editor"; import { usePreviewStore } from "@/stores/preview-store"; import { toast } from "sonner"; export function PreviewContextMenu({ onToggleFullscreen, containerRef, }: { onToggleFullscreen: () => void; containerRef: React.RefObject; }) { const editor = useEditor(); const viewport = usePreviewViewport(); const { overlays, setOverlayVisibility } = usePreviewStore(); const handleCopySnapshot = async () => { const result = await editor.renderer.copySnapshot(); if (!result.success) { toast.error("Failed to copy snapshot", { description: result.error ?? "Please try again", }); return; } }; const handleSaveSnapshot = async () => { const result = await editor.renderer.saveSnapshot(); if (!result.success) { toast.error("Failed to save snapshot", { description: result.error ?? "Please try again", }); return; } }; return ( Fit to screen Full screen Save snapshot Copy snapshot setOverlayVisibility({ overlay: "bookmarks", isVisible: !!checked }) } > Show bookmark notes ); }