From de1e30d5747a478b105dc342326ddafd7f41ab0d Mon Sep 17 00:00:00 2001 From: Ayush Amawate Date: Sun, 4 Jan 2026 10:26:14 +0530 Subject: [PATCH] Fix context menu blocking keyboard input after closing node graph --- frontend/src/components/Editor.svelte | 6 +++--- frontend/src/state-providers/document.ts | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/Editor.svelte b/frontend/src/components/Editor.svelte index c6b64d242d..e680098876 100644 --- a/frontend/src/components/Editor.svelte +++ b/frontend/src/components/Editor.svelte @@ -29,12 +29,12 @@ setContext("dialog", dialog); let tooltip = createTooltipState(editor); setContext("tooltip", tooltip); - let document = createDocumentState(editor); + let nodeGraph = createNodeGraphState(editor); + setContext("nodeGraph", nodeGraph); + let document = createDocumentState(editor, nodeGraph); setContext("document", document); let fullscreen = createFullscreenState(editor); setContext("fullscreen", fullscreen); - let nodeGraph = createNodeGraphState(editor); - setContext("nodeGraph", nodeGraph); let portfolio = createPortfolioState(editor); setContext("portfolio", portfolio); let appWindow = createAppWindowState(editor); diff --git a/frontend/src/state-providers/document.ts b/frontend/src/state-providers/document.ts index fbc44ea71f..4c778cff18 100644 --- a/frontend/src/state-providers/document.ts +++ b/frontend/src/state-providers/document.ts @@ -14,8 +14,9 @@ import { UpdateGraphFadeArtwork, } from "@graphite/messages"; import type { Layout } from "@graphite/messages"; +import type { NodeGraphState } from "@graphite/state-providers/node-graph"; -export function createDocumentState(editor: Editor) { +export function createDocumentState(editor: Editor, nodeGraph?: NodeGraphState) { const state = writable({ // Layouts toolOptionsLayout: [] as Layout, @@ -79,6 +80,10 @@ export function createDocumentState(editor: Editor) { editor.subscriptions.subscribeJsMessage(UpdateGraphViewOverlay, (data) => { update((state) => { state.graphViewOverlayOpen = data.open; + // Close the context menu when the graph view overlay is closed + if (!data.open && nodeGraph) { + nodeGraph.closeContextMenu(); + } return state; }); });