feat: add hotkey cmd+k

This commit is contained in:
JimmFly
2022-12-09 15:43:31 +08:00
parent 8c2d01e448
commit 04ee5dfa85
@@ -1,4 +1,4 @@
import { createContext, useContext, useState } from 'react';
import { createContext, useContext, useEffect, useState } from 'react';
import type { PropsWithChildren } from 'react';
import ShortcutsModal from '@/components/shortcuts-modal';
import ContactModal from '@/components/contact-modal';
@@ -24,7 +24,20 @@ export const ModalProvider = ({
const [openContactModal, setOpenContactModal] = useState(false);
const [openShortcutsModal, setOpenShortcutsModal] = useState(false);
const [openQuickSearchModal, setOpenQuickSearchModal] = useState(false);
useEffect(() => {
const down = (e: KeyboardEvent) => {
if (e.key === 'k' && e.metaKey) {
const selection = window.getSelection();
if (selection?.isCollapsed) {
setOpenQuickSearchModal(
openQuickSearchModal => !openQuickSearchModal
);
}
}
};
document.addEventListener('keydown', down);
return () => document.removeEventListener('keydown', down);
}, []);
return (
<ModalContext.Provider
value={{