From 1fe14d5f5f9d05dbf7f39b139a84c4f7ed424dfe Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Wed, 10 Dec 2025 13:57:25 +0000 Subject: [PATCH] Refactored keyboard navigation to its own keynav.js. Implemented keyboard navigation on modal dialogs. --- frontend/int/reset/ResetApp.vue | 3 +- frontend/src/admin/AdminDialogs.vue | 24 +- frontend/src/assets/style.css | 7 + frontend/src/components/AccessDenied.vue | 3 +- frontend/src/components/CredentialList.vue | 93 +--- frontend/src/components/DeviceLinkView.vue | 3 +- frontend/src/components/HostProfileView.vue | 3 +- frontend/src/components/Modal.vue | 55 ++- frontend/src/components/NameEditForm.vue | 25 +- frontend/src/components/ProfileView.vue | 153 +++---- frontend/src/components/QRCodeDisplay.vue | 2 +- .../src/components/RegistrationLinkModal.vue | 42 +- frontend/src/components/RemoteAuthPermit.vue | 3 +- frontend/src/components/RestrictedAuth.vue | 13 +- frontend/src/components/SessionList.vue | 124 +----- frontend/src/utils/keynav.js | 408 ++++++++++++++++++ 16 files changed, 631 insertions(+), 330 deletions(-) create mode 100644 frontend/src/utils/keynav.js diff --git a/frontend/int/reset/ResetApp.vue b/frontend/int/reset/ResetApp.vue index 9b2ad53..9f90f03 100644 --- a/frontend/int/reset/ResetApp.vue +++ b/frontend/int/reset/ResetApp.vue @@ -23,7 +23,7 @@
-
+
@@ -60,6 +60,7 @@ 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/src/admin/AdminDialogs.vue b/frontend/src/admin/AdminDialogs.vue index 17a079f..5497a59 100644 --- a/frontend/src/admin/AdminDialogs.vue +++ b/frontend/src/admin/AdminDialogs.vue @@ -1,7 +1,7 @@
{{ dialog.error }}
-