From 95f39c86487914f2b891b083def56456ae3b29d7 Mon Sep 17 00:00:00 2001 From: Undyingwraith Date: Tue, 14 Jan 2025 18:02:35 +0100 Subject: [PATCH] Add search hotkey --- .../ui/src/components/organisms/LibraryAppBar.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/organisms/LibraryAppBar.tsx b/packages/ui/src/components/organisms/LibraryAppBar.tsx index 9935542..f588752 100644 --- a/packages/ui/src/components/organisms/LibraryAppBar.tsx +++ b/packages/ui/src/components/organisms/LibraryAppBar.tsx @@ -1,8 +1,9 @@ import React from "react"; -import { Signal, useComputed } from "@preact/signals-react"; +import { Signal, useComputed, useSignal } from "@preact/signals-react"; import { Display } from "../pages/LibraryManager"; import { AppBar, Box, Button, ButtonGroup, TextField, Toolbar } from "@mui/material"; import { useTranslation } from '../../hooks/useTranslation'; +import { useHotkey } from '../../hooks'; // Icons import ViewModuleIcon from '@mui/icons-material/ViewModule'; @@ -12,6 +13,13 @@ import ViewListIcon from '@mui/icons-material/ViewList'; export function LibraryAppBar(props: { query: Signal, display: Signal; }) { const { query, display } = props; const _t = useTranslation(); + const searchFieldRef = useSignal(null); + useHotkey({ + key: 'f', + ctrl: true, + }, () => { + searchFieldRef.value?.focus(); + }); const displayButtons = useComputed(() => ( @@ -46,6 +54,7 @@ export function LibraryAppBar(props: { query: Signal, display: Signal searchFieldRef.value = ref} onChange={(e) => query.value = e.target.value} /> ))}