From 048b4c6ff19256465309013809e499b8006dafa5 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Wed, 10 Dec 2025 14:07:44 +0000 Subject: [PATCH] Refactor to remove keydown handlers needed for each button. --- frontend/auth/admin/main.js | 2 + frontend/auth/main.js | 2 + frontend/auth/restricted/main.js | 2 + frontend/int/forward/main.js | 2 + frontend/int/reset/ResetApp.vue | 3 +- frontend/int/reset/main.js | 2 + frontend/src/admin/AdminDialogs.vue | 3 +- frontend/src/components/AccessDenied.vue | 3 +- frontend/src/components/DeviceLinkView.vue | 3 +- frontend/src/components/HostProfileView.vue | 3 +- frontend/src/components/NameEditForm.vue | 4 +- frontend/src/components/RemoteAuthPermit.vue | 3 +- frontend/src/components/RestrictedAuth.vue | 4 +- frontend/src/utils/keynav.js | 66 ++++++++++++++++++++ 14 files changed, 86 insertions(+), 16 deletions(-) diff --git a/frontend/auth/admin/main.js b/frontend/auth/admin/main.js index c8848b8..f032833 100644 --- a/frontend/auth/admin/main.js +++ b/frontend/auth/admin/main.js @@ -3,7 +3,9 @@ import '@/assets/style.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import AdminApp from './AdminApp.vue' +import { initKeyboardNavigation } from '@/utils/keynav' const app = createApp(AdminApp) app.use(createPinia()) app.mount('#admin-app') +initKeyboardNavigation() diff --git a/frontend/auth/main.js b/frontend/auth/main.js index 231bb07..e9f238f 100644 --- a/frontend/auth/main.js +++ b/frontend/auth/main.js @@ -3,9 +3,11 @@ import '@/assets/style.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' +import { initKeyboardNavigation } from '@/utils/keynav' const app = createApp(App) app.use(createPinia()) app.mount('#app') +initKeyboardNavigation() diff --git a/frontend/auth/restricted/main.js b/frontend/auth/restricted/main.js index ed6ba37..e1c87fa 100644 --- a/frontend/auth/restricted/main.js +++ b/frontend/auth/restricted/main.js @@ -1,5 +1,7 @@ import { createApp } from 'vue' import RestrictedApi from './RestrictedApi.vue' import '@/assets/style.css' +import { initKeyboardNavigation } from '@/utils/keynav' createApp(RestrictedApi).mount('#app') +initKeyboardNavigation() diff --git a/frontend/int/forward/main.js b/frontend/int/forward/main.js index 49f5891..c300560 100644 --- a/frontend/int/forward/main.js +++ b/frontend/int/forward/main.js @@ -1,5 +1,7 @@ import { createApp } from 'vue' import App from './RestrictedForward.vue' import '@/assets/style.css' +import { initKeyboardNavigation } from '@/utils/keynav' createApp(App).mount('#app') +initKeyboardNavigation() diff --git a/frontend/int/reset/ResetApp.vue b/frontend/int/reset/ResetApp.vue index 9f90f03..9b2ad53 100644 --- a/frontend/int/reset/ResetApp.vue +++ b/frontend/int/reset/ResetApp.vue @@ -23,7 +23,7 @@
-
+
@@ -60,7 +60,6 @@ import { computed, onMounted, reactive, ref } from 'vue' import passkey from '@/utils/passkey' import { getSettings, uiBasePath } from '@/utils/settings' import { apiJson, ApiError, getUserFriendlyErrorMessage } from '@/utils/api' -import { handleButtonKeydown } from '@/utils/keynav' const status = reactive({ show: false, diff --git a/frontend/int/reset/main.js b/frontend/int/reset/main.js index 51f6e05..48a96ef 100644 --- a/frontend/int/reset/main.js +++ b/frontend/int/reset/main.js @@ -1,5 +1,7 @@ import { createApp } from 'vue' import ResetApp from './ResetApp.vue' import '@/assets/style.css' +import { initKeyboardNavigation } from '@/utils/keynav' createApp(ResetApp).mount('#app') +initKeyboardNavigation() diff --git a/frontend/src/admin/AdminDialogs.vue b/frontend/src/admin/AdminDialogs.vue index 5497a59..a03504d 100644 --- a/frontend/src/admin/AdminDialogs.vue +++ b/frontend/src/admin/AdminDialogs.vue @@ -1,7 +1,6 @@ diff --git a/frontend/src/components/DeviceLinkView.vue b/frontend/src/components/DeviceLinkView.vue index 741cfba..124760d 100644 --- a/frontend/src/components/DeviceLinkView.vue +++ b/frontend/src/components/DeviceLinkView.vue @@ -4,7 +4,7 @@

📱 Add Another Device

Generate a one-time link to set up passkeys on a new device.

-
+
@@ -22,7 +22,6 @@ import { ref, onMounted } from 'vue' import { useAuthStore } from '@/stores/auth' import RegistrationLinkModal from '@/components/RegistrationLinkModal.vue' -import { handleButtonKeydown } from '@/utils/keynav' const authStore = useAuthStore() const userName = ref(null) diff --git a/frontend/src/components/HostProfileView.vue b/frontend/src/components/HostProfileView.vue index 49ea55a..3573d19 100644 --- a/frontend/src/components/HostProfileView.vue +++ b/frontend/src/components/HostProfileView.vue @@ -25,7 +25,7 @@
-
+