From b45b193a1a68752db596dbc136ff1e44daa3c854 Mon Sep 17 00:00:00 2001 From: Zaid Ahmad <109442753+zaidahmad16@users.noreply.github.com> Date: Wed, 27 May 2026 12:41:20 -0400 Subject: [PATCH 1/3] fix: click to deselect node, disable double-click zoom, canvas click clears highlight --- frontend/app/map/page.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/app/map/page.js b/frontend/app/map/page.js index 30f650e..f483f40 100644 --- a/frontend/app/map/page.js +++ b/frontend/app/map/page.js @@ -234,6 +234,11 @@ export default function MapPage() { // open the course panel when a non-elective node is clicked const onNodeClick = useCallback((event, node) => { if (node.data.isElective || node.type !== 'course') return + if (chainIds?.has(node.id)) { + setSelectedNode(null) + setChainIds(null) + return + } setSelectedNode(node) const outMap = new Map() @@ -258,7 +263,7 @@ export default function MapPage() { bfs(inMap, node.id) bfs(outMap, node.id) setChainIds(chain) - }, [edges]) + }, [edges, chainIds]) //Copy link const onCopyLink = useCallback(() => { @@ -549,6 +554,9 @@ export default function MapPage() { elementsSelectable={false} onInit={inst => { rfRef.current = inst }} onNodeClick={onNodeClick} + onNodeDoubleClick={e => e.stopPropagation()} + onPaneClick={() => { setSelectedNode(null); setChainIds(null) }} + zoomOnDoubleClick={false} minZoom={0.4} maxZoom={1.5} translateExtent={[[-200, -200], [2000, 1000]]} From ac2e3df12a700b35f6cea18a9bf88c821ca946cf Mon Sep 17 00:00:00 2001 From: Zaid Ahmad <109442753+zaidahmad16@users.noreply.github.com> Date: Wed, 27 May 2026 13:33:33 -0400 Subject: [PATCH 2/3] =?UTF-8?q?=1B[200~fix(db):=20seed=20missing=20require?= =?UTF-8?q?ments=20for=204=20gap=20programs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From dfff301e0f028987c82e3d4337b255c6198abe4b Mon Sep 17 00:00:00 2001 From: Zaid Ahmad <109442753+zaidahmad16@users.noreply.github.com> Date: Wed, 27 May 2026 13:34:31 -0400 Subject: [PATCH 3/3] fix(db): seed missing requirements for 4 gap programs