From 95e1c13dcd007cda85b61cb6135c5a9666f78c7e Mon Sep 17 00:00:00 2001 From: dtoro Date: Wed, 11 Mar 2026 13:44:48 +0100 Subject: [PATCH] feat: minimap toggle --- frontend/src/app/canvas/CanvasMenubar.tsx | 16 ++++++++++++++++ frontend/src/app/canvas/CanvasPage.tsx | 11 ++++++++--- frontend/src/app/platform/PlatformPage.tsx | 5 ----- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/canvas/CanvasMenubar.tsx b/frontend/src/app/canvas/CanvasMenubar.tsx index 1b3edea..2280840 100644 --- a/frontend/src/app/canvas/CanvasMenubar.tsx +++ b/frontend/src/app/canvas/CanvasMenubar.tsx @@ -35,6 +35,8 @@ export type CanvasMenubarProps = { canDuplicate?: boolean canCopy?: boolean onFitView?: () => void + showMinimap?: boolean + onToggleMinimap?: (visible: boolean) => void } const UNDO_KEYS = { key: 'z', shiftKey: false } @@ -58,6 +60,8 @@ export function CanvasMenubar({ canDuplicate = false, canCopy = false, onFitView, + showMinimap = true, + onToggleMinimap, }: CanvasMenubarProps) { const { theme, setTheme } = useTheme() const { projectId } = useParams<{ projectId: string }>() @@ -253,6 +257,18 @@ export function CanvasMenubar({ + {onToggleMinimap != null && ( + <> + + onToggleMinimap(checked)} + className="gap-2" + > + Minimap + + + )} diff --git a/frontend/src/app/canvas/CanvasPage.tsx b/frontend/src/app/canvas/CanvasPage.tsx index b180b18..4c3ef1e 100644 --- a/frontend/src/app/canvas/CanvasPage.tsx +++ b/frontend/src/app/canvas/CanvasPage.tsx @@ -190,6 +190,7 @@ export function CanvasPage({ projectId }: CanvasPageProps) { const [lastCreatedNodeId, setLastCreatedNodeId] = React.useState(null) const [isPanning, setIsPanning] = React.useState(false) const [isSelecting, setIsSelecting] = React.useState(false) + const [showMinimap, setShowMinimap] = React.useState(true) const [ariaAnnouncement, setAriaAnnouncement] = React.useState(null) const nodesRef = useRef(nodes) nodesRef.current = nodes @@ -569,6 +570,8 @@ export function CanvasPage({ projectId }: CanvasPageProps) { canDuplicate={selectedNodes.length > 0} canCopy={selectedNodes.length === 1} onFitView={() => flowActionsRef.current?.fitView?.()} + showMinimap={showMinimap} + onToggleMinimap={setShowMinimap} /> {apiTodosCount !== null && (
@@ -662,9 +665,11 @@ export function CanvasPage({ projectId }: CanvasPageProps) {
-
- -
+ {showMinimap && ( +
+ +
+ )}
diff --git a/frontend/src/app/platform/PlatformPage.tsx b/frontend/src/app/platform/PlatformPage.tsx index aa84797..1bcf707 100644 --- a/frontend/src/app/platform/PlatformPage.tsx +++ b/frontend/src/app/platform/PlatformPage.tsx @@ -13,11 +13,6 @@ function PlatformLayoutInner() { const { recordProjectAccess } = usePlatform() const [sidebarOpen, setSidebarOpen] = useState(true) - useEffect(() => { - if (projectId) setSidebarOpen(false) - else setSidebarOpen(true) - }, [projectId]) - useEffect(() => { if (projectId) recordProjectAccess(projectId) }, [projectId, recordProjectAccess])