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}