From db9ada0f31e97931b565bb64b11b2f25e28f095e Mon Sep 17 00:00:00 2001 From: archipelago Date: Fri, 9 Oct 2026 14:29:53 -0400 Subject: [PATCH] fix: fence terminal arrow keys from global navigation --- neode-ui/src/components/CLIPopup.vue | 2 +- neode-ui/src/composables/useControllerNav.ts | 1 + neode-ui/src/composables/useModalKeyboard.ts | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/neode-ui/src/components/CLIPopup.vue b/neode-ui/src/components/CLIPopup.vue index 74855726..eecd66ac 100644 --- a/neode-ui/src/components/CLIPopup.vue +++ b/neode-ui/src/components/CLIPopup.vue @@ -2,7 +2,7 @@
-
+
diff --git a/neode-ui/src/composables/useControllerNav.ts b/neode-ui/src/composables/useControllerNav.ts index c2fdb306..21d00faa 100644 --- a/neode-ui/src/composables/useControllerNav.ts +++ b/neode-ui/src/composables/useControllerNav.ts @@ -252,6 +252,7 @@ export function useControllerNav(containerRef?: { value: HTMLElement | null }) { // ─── Keyboard Handler ─────────────────────────────────────── function handleKeyDown(e: KeyboardEvent) { + if ((e.target as HTMLElement | null)?.closest?.('[data-archipelago-terminal]')) return const navKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Enter', 'Escape'] if (!navKeys.includes(e.key)) return diff --git a/neode-ui/src/composables/useModalKeyboard.ts b/neode-ui/src/composables/useModalKeyboard.ts index c2b05193..b8c717a9 100644 --- a/neode-ui/src/composables/useModalKeyboard.ts +++ b/neode-ui/src/composables/useModalKeyboard.ts @@ -35,6 +35,7 @@ export function useModalKeyboard( function handleKeydown(e: KeyboardEvent) { if (!isOpen.value) return + if ((e.target as HTMLElement | null)?.closest?.('[data-archipelago-terminal]')) return if (e.key === 'Escape') { restoreFocusRef?.value?.focus?.()