From 2aec9025e6e1124e7e12de80ac84ae12b7ca5857 Mon Sep 17 00:00:00 2001 From: Alex Korytskyi Date: Sun, 1 Mar 2026 11:25:11 +0000 Subject: [PATCH 1/2] fix: disable some hot keys when disabled in settings --- app/components/Compare/PackageSelector.vue | 6 ++++++ app/components/Package/Playgrounds.vue | 6 ++++++ app/pages/search.vue | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/app/components/Compare/PackageSelector.vue b/app/components/Compare/PackageSelector.vue index 3679a9ba1..0c5fcbec0 100644 --- a/app/components/Compare/PackageSelector.vue +++ b/app/components/Compare/PackageSelector.vue @@ -75,6 +75,8 @@ const resultIndexOffset = computed(() => (showNoDependencyOption.value ? 1 : 0)) const numberFormatter = useNumberFormatter() +const keyboardShortcuts = useKeyboardShortcuts() + function addPackage(name: string) { if (packages.value.length >= maxPackages.value) return if (packages.value.includes(name)) return @@ -98,6 +100,10 @@ function removePackage(name: string) { } function handleKeydown(e: KeyboardEvent) { + if (!keyboardShortcuts.value) { + return + } + const items = navigableItems.value const count = items.length diff --git a/app/components/Package/Playgrounds.vue b/app/components/Package/Playgrounds.vue index a36385e89..35162fdda 100644 --- a/app/components/Package/Playgrounds.vue +++ b/app/components/Package/Playgrounds.vue @@ -69,7 +69,13 @@ function closeDropdown() { focusedIndex.value = -1 } +const keyboardShortcuts = useKeyboardShortcuts() + function handleKeydown(event: KeyboardEvent) { + if (!keyboardShortcuts.value) { + return + } + if (!isOpen.value) { if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') { event.preventDefault() diff --git a/app/pages/search.vue b/app/pages/search.vue index cd3faef3e..fe106abf7 100644 --- a/app/pages/search.vue +++ b/app/pages/search.vue @@ -463,7 +463,12 @@ function focusSearchInput() { searchInput?.focus() } +const keyboardShortcuts = useKeyboardShortcuts() + function handleResultsKeydown(e: KeyboardEvent) { + if (!keyboardShortcuts.value) { + return + } // If the active element is an input, navigate to exact match or wait for results if (e.key === 'Enter' && document.activeElement?.tagName === 'INPUT') { // Get value directly from input (not from route query, which may be debounced) From ae6d424b5eab96c3f53d8ff5ab5e3d7c1f4e4df5 Mon Sep 17 00:00:00 2001 From: Alex Korytskyi Date: Mon, 2 Mar 2026 10:11:11 +0000 Subject: [PATCH 2/2] fix: remove kbd settings check from Playgrounds --- app/components/Package/Playgrounds.vue | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/components/Package/Playgrounds.vue b/app/components/Package/Playgrounds.vue index 2ff7e8852..c53794be2 100644 --- a/app/components/Package/Playgrounds.vue +++ b/app/components/Package/Playgrounds.vue @@ -69,13 +69,7 @@ function closeDropdown() { focusedIndex.value = -1 } -const keyboardShortcuts = useKeyboardShortcuts() - function handleKeydown(event: KeyboardEvent) { - if (!keyboardShortcuts.value) { - return - } - if (!isOpen.value) { if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') { event.preventDefault()