From b63612c5aeb582b0b0a4f343ad9daae079163b82 Mon Sep 17 00:00:00 2001 From: Dorian Date: Tue, 17 Feb 2026 22:10:38 +0000 Subject: [PATCH] Update favicon and enhance UI components for improved user experience - Replaced PNG favicon with SVG for better scalability and visual quality across devices. - Updated Vite configuration to include the new SVG favicon and adjusted asset paths. - Enhanced various UI components with improved focus management and accessibility features. - Introduced new styles to hide scrollbars while maintaining scroll functionality for a cleaner interface. --- neode-ui/index.html | 22 ++--- .../assets/img/icons/bitcoin-symbol.svg | 6 ++ neode-ui/src/App.vue | 15 ++- neode-ui/src/components/AnimatedLogo.vue | 24 ++++- .../src/components/AppLauncherOverlay.vue | 24 ++++- neode-ui/src/components/HelpGuideModal.vue | 11 ++- neode-ui/src/components/PWAUpdatePrompt.vue | 95 ++++++++++-------- neode-ui/src/components/Screensaver.vue | 11 ++- neode-ui/src/components/ScreensaverLogo.vue | 20 ++++ neode-ui/src/composables/useControllerNav.ts | 10 ++ neode-ui/src/composables/useModalKeyboard.ts | 74 ++++++++++++++ neode-ui/src/stores/spotlight.ts | 4 + neode-ui/src/style.css | 22 +++++ neode-ui/src/views/AppDetails.vue | 28 +++++- neode-ui/src/views/Apps.vue | 24 ++++- neode-ui/src/views/Marketplace.vue | 29 ++++-- neode-ui/src/views/Settings.vue | 9 +- neode-ui/src/views/Web5.vue | 14 ++- neode-ui/vite.config.ts | 48 ++++----- scripts/deploy-to-target.sh | 5 + scripts/setup-https-dev.sh | 98 +++++++++++++++++++ 21 files changed, 486 insertions(+), 107 deletions(-) create mode 100644 neode-ui/public/assets/img/icons/bitcoin-symbol.svg create mode 100644 neode-ui/src/components/ScreensaverLogo.vue create mode 100644 neode-ui/src/composables/useModalKeyboard.ts create mode 100644 scripts/setup-https-dev.sh diff --git a/neode-ui/index.html b/neode-ui/index.html index 479bb621..17fb9817 100644 --- a/neode-ui/index.html +++ b/neode-ui/index.html @@ -2,16 +2,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -21,7 +21,7 @@ - + Archipelago OS diff --git a/neode-ui/public/assets/img/icons/bitcoin-symbol.svg b/neode-ui/public/assets/img/icons/bitcoin-symbol.svg new file mode 100644 index 00000000..ba471b2e --- /dev/null +++ b/neode-ui/public/assets/img/icons/bitcoin-symbol.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/neode-ui/src/App.vue b/neode-ui/src/App.vue index da444850..97d47ab1 100644 --- a/neode-ui/src/App.vue +++ b/neode-ui/src/App.vue @@ -100,9 +100,22 @@ function onUserActivity() { function onKeyDown(e: KeyboardEvent) { const isMac = navigator.platform.toUpperCase().includes('MAC') const mod = isMac ? e.metaKey : e.ctrlKey - if (mod && e.key === 'k') { + // Cmd+K / Ctrl+K or plain K (when not typing in input) + const target = e.target as HTMLElement + const isInput = target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable + if ((mod && e.key === 'k') || ((e.key === 'k' || e.key === 'K') && !isInput)) { e.preventDefault() spotlightStore.toggle() + return + } + // 's' key activates screensaver when authenticated (skip if typing in input) + if (e.key === 's' || e.key === 'S') { + const target = e.target as HTMLElement + const isInput = target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable + if (!isInput && appStore.isAuthenticated && !screensaverStore.isActive) { + e.preventDefault() + screensaverStore.activate() + } } } diff --git a/neode-ui/src/components/AnimatedLogo.vue b/neode-ui/src/components/AnimatedLogo.vue index 09b91f24..c255c277 100644 --- a/neode-ui/src/components/AnimatedLogo.vue +++ b/neode-ui/src/components/AnimatedLogo.vue @@ -1,8 +1,14 @@