From 4ffd5962d9b01d59a1ff9e05c3b4f9e7aaeadf46 Mon Sep 17 00:00:00 2001 From: nomadoor Date: Sun, 19 Oct 2025 00:46:00 +0900 Subject: [PATCH] refactor: improve main host management in ensureMainHosts function --- js/dual_panel_subgraph.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/js/dual_panel_subgraph.js b/js/dual_panel_subgraph.js index 2d05a70..22dc7f5 100644 --- a/js/dual_panel_subgraph.js +++ b/js/dual_panel_subgraph.js @@ -104,8 +104,9 @@ app.registerExtension({ body.${BODY_CLASS} .${HOST_CLASS} { box-sizing: border-box; - padding-right: var(--dual-panel-subgraph-width); - transition: padding-right 140ms ease; + width: calc(100% - var(--dual-panel-subgraph-width)); + max-width: calc(100% - var(--dual-panel-subgraph-width)); + transition: width 140ms ease, max-width 140ms ease; } `; document.head.appendChild(style); @@ -116,14 +117,24 @@ app.registerExtension({ } function ensureMainHosts() { - if (state.mainHosts.length) { + const currentCanvas = getMainCanvasElement(); + if (!currentCanvas) { return; } - const mainHost = document.getElementById("graph-canvas"); - if (mainHost) { - mainHost.classList.add(HOST_CLASS); - state.mainHosts.push(mainHost); + const host = currentCanvas.parentElement; + if (!host) { + return; } + if ( + state.mainHosts.length === 1 && + state.mainHosts[0] === host && + host.classList.contains(HOST_CLASS) + ) { + return; + } + resetMainHosts(); + host.classList.add(HOST_CLASS); + state.mainHosts = [host]; } function resetMainHosts() {