From 1af0b7d967d7d7f6e437b369f933da9e8e88ecc1 Mon Sep 17 00:00:00 2001 From: fyzanshaik Date: Mon, 29 Jul 2024 18:55:07 +0530 Subject: [PATCH 1/6] Fix: Disable GitHub shortcuts in text field --- apps/extension/content/ContentApp.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/extension/content/ContentApp.tsx b/apps/extension/content/ContentApp.tsx index c0339897..a8740f25 100644 --- a/apps/extension/content/ContentApp.tsx +++ b/apps/extension/content/ContentApp.tsx @@ -131,6 +131,13 @@ export default function ContentApp({ }); } }); + const handleKeyDown = (e: KeyboardEvent) => { + if (isPopoverOpen) { + e.stopPropagation(); + e.preventDefault(); + } + }; + document.addEventListener('keydown', handleKeyDown, true); const portalDiv = document.createElement("div"); portalDiv.id = "popover-portal"; From 4a90134f342f5fdc839feb8ce57cb85ca7226edb Mon Sep 17 00:00:00 2001 From: fyzanshaik Date: Mon, 29 Jul 2024 18:59:26 +0530 Subject: [PATCH 2/6] Fix: Remove event listener through cleanup --- apps/extension/content/ContentApp.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/extension/content/ContentApp.tsx b/apps/extension/content/ContentApp.tsx index a8740f25..e674137a 100644 --- a/apps/extension/content/ContentApp.tsx +++ b/apps/extension/content/ContentApp.tsx @@ -146,8 +146,10 @@ export default function ContentApp({ return () => { document.removeEventListener("mousemove", () => {}); + document.removeEventListener('keydown', handleKeyDown, true); + }; - }, []); + }, [isPopoverOpen]); const getSpaces = async () => { const response = await fetch(`${BACKEND_URL}/api/spaces`, { From f45d7fb9ba06713d954c09b53f4602ccba180f42 Mon Sep 17 00:00:00 2001 From: Tushar Daiya Date: Mon, 29 Jul 2024 21:26:57 +0530 Subject: [PATCH 3/6] Add useKeyPress hook for keyboard event handling --- apps/web/app/(dash)/menu.tsx | 7 ++++++- apps/web/lib/useKeyPress.ts | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 apps/web/lib/useKeyPress.ts diff --git a/apps/web/app/(dash)/menu.tsx b/apps/web/app/(dash)/menu.tsx index 70439c7d..c1173eb6 100644 --- a/apps/web/app/(dash)/menu.tsx +++ b/apps/web/app/(dash)/menu.tsx @@ -30,6 +30,7 @@ import { createMemory, createSpace } from "../actions/doers"; import ComboboxWithCreate from "@repo/ui/shadcn/combobox"; import { StoredSpace } from "@/server/db/schema"; import useMeasure from "react-use-measure"; +import { useKeyPress } from "@/lib/useKeyPress"; function Menu() { const [spaces, setSpaces] = useState([]); @@ -48,7 +49,11 @@ function Menu() { setSpaces(spaces.data); })(); }, []); - + useKeyPress("a", () => { + if (!dialogOpen) { + setDialogOpen(true); + } + }); const menuItems = [ { icon: HomeIconWeb, diff --git a/apps/web/lib/useKeyPress.ts b/apps/web/lib/useKeyPress.ts new file mode 100644 index 00000000..eee23acb --- /dev/null +++ b/apps/web/lib/useKeyPress.ts @@ -0,0 +1,15 @@ +import { useEffect } from "react"; + +export const useKeyPress = (key: string, callback: () => void) => { + useEffect(() => { + const handler = (e: KeyboardEvent) => { + if (e.key === key && e.altKey) { + callback(); + } + }; + window.addEventListener("keydown", handler); + return () => { + window.removeEventListener("keydown", handler); + }; + }, [key, callback]); +}; From 0ff4455490b9b4ed4c55297e727007a6063170c7 Mon Sep 17 00:00:00 2001 From: fyzanshaik Date: Mon, 29 Jul 2024 22:21:39 +0530 Subject: [PATCH 4/6] dependency array removed --- apps/extension/content/ContentApp.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/extension/content/ContentApp.tsx b/apps/extension/content/ContentApp.tsx index e674137a..8454eb8c 100644 --- a/apps/extension/content/ContentApp.tsx +++ b/apps/extension/content/ContentApp.tsx @@ -149,7 +149,7 @@ export default function ContentApp({ document.removeEventListener('keydown', handleKeyDown, true); }; - }, [isPopoverOpen]); + }, []); const getSpaces = async () => { const response = await fetch(`${BACKEND_URL}/api/spaces`, { From 1e07fe87380a3707ce1ba8f2bd8ef95ab4bda460 Mon Sep 17 00:00:00 2001 From: Welding Torch <46340124+Welding-Torch@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:06:22 +0530 Subject: [PATCH 5/6] It's 'Thinkpad' not Canvas anymore --- apps/web/app/(thinkpad)/thinkpad/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/(thinkpad)/thinkpad/page.tsx b/apps/web/app/(thinkpad)/thinkpad/page.tsx index defa8e43..a4f71f29 100644 --- a/apps/web/app/(thinkpad)/thinkpad/page.tsx +++ b/apps/web/app/(thinkpad)/thinkpad/page.tsx @@ -37,7 +37,7 @@ async function page() {

- *this is under beta and only one canvas is allowed per user + Thinkpads is under beta and only one thinkpad is allowed per user.

); From 0e22c4257cf612b679eae80cc141bd5fba32d574 Mon Sep 17 00:00:00 2001 From: Welding Torch <46340124+Welding-Torch@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:14:29 +0530 Subject: [PATCH 6/6] Fix 'Draw things to see here' --- apps/web/app/(thinkpad)/thinkpad/image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/(thinkpad)/thinkpad/image.tsx b/apps/web/app/(thinkpad)/thinkpad/image.tsx index b55b9a81..3fca75df 100644 --- a/apps/web/app/(thinkpad)/thinkpad/image.tsx +++ b/apps/web/app/(thinkpad)/thinkpad/image.tsx @@ -39,7 +39,7 @@ const ImageComponent = memo(({ id }: { id: string }) => { return (
- Drew things to seee here + Draw things to see here
); });