From 962aba8ccfdfac2b20d0d70e5ef28bb80c3601d7 Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 2 Oct 2025 21:41:40 +0100 Subject: [PATCH] feat: add keyboard shortcuts --- apps/web/src/components/WorkspaceMenu.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/WorkspaceMenu.tsx b/apps/web/src/components/WorkspaceMenu.tsx index b9f75183..b48bb960 100644 --- a/apps/web/src/components/WorkspaceMenu.tsx +++ b/apps/web/src/components/WorkspaceMenu.tsx @@ -1,6 +1,6 @@ import { Button, Menu, Transition } from "@headlessui/react"; import { t } from "@lingui/core/macro"; -import { Fragment, useState } from "react"; +import { Fragment, useEffect, useState } from "react"; import { HiCheck, HiMagnifyingGlass } from "react-icons/hi2"; import { twMerge } from "tailwind-merge"; @@ -18,6 +18,18 @@ export default function WorkspaceMenu({ const { openModal } = useModal(); const [isOpen, setIsOpen] = useState(false); + useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if ((event.metaKey || event.ctrlKey) && event.key === "k") { + event.preventDefault(); + setIsOpen(true); + } + }; + + document.addEventListener("keydown", handleKeyDown); + return () => document.removeEventListener("keydown", handleKeyDown); + }, []); + return ( <> setIsOpen(false)} />