From 1b3cf6ab39748971111326463176ebde7fd7e9e4 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Tue, 21 Jan 2025 19:17:51 -0500 Subject: [PATCH] feat: add keyboard shortcut to focus search input in Navbar and clean up dashboard animations --- frontend/src/lib/components/Navbar.svelte | 50 +++++++++++++--------- frontend/src/routes/dashboard/+page.svelte | 10 ----- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/src/lib/components/Navbar.svelte b/frontend/src/lib/components/Navbar.svelte index 13a2e85..5e0d475 100644 --- a/frontend/src/lib/components/Navbar.svelte +++ b/frontend/src/lib/components/Navbar.svelte @@ -12,6 +12,28 @@ import { page } from '$app/stores'; import { t, locale, locales } from 'svelte-i18n'; import { themes } from '$lib'; + import { onMount } from 'svelte'; + let inputElement: HTMLInputElement | null = null; + + // Event listener for focusing input + function handleKeydown(event: KeyboardEvent) { + if (event.key === '/' && document.activeElement !== inputElement) { + event.preventDefault(); // Prevent browser's search shortcut + if (inputElement) { + inputElement.focus(); + } + } + } + + onMount(() => { + // Attach event listener on component mount + document.addEventListener('keydown', handleKeydown); + + // Cleanup event listener on component destruction + return () => { + document.removeEventListener('keydown', handleKeydown); + }; + }); let languages: { [key: string]: string } = { en: 'English', @@ -123,12 +145,7 @@ {#if data.user}