mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-09 07:03:25 +00:00
20 lines
580 B
TypeScript
20 lines
580 B
TypeScript
import KEYS from '#constants/keys';
|
|
import { useHotkeys } from 'react-hotkeys-hook';
|
|
import useGlobalHotkeys from '~/hooks/use_global_hotkeys';
|
|
|
|
type ShortcutOptions = { ignoreGlobalHotkeysStatus?: boolean };
|
|
|
|
export default function useShortcut(
|
|
key: keyof typeof KEYS,
|
|
cb: () => void,
|
|
options: ShortcutOptions = {
|
|
ignoreGlobalHotkeysStatus: false,
|
|
}
|
|
) {
|
|
const { globalHotkeysEnabled } = useGlobalHotkeys();
|
|
return useHotkeys(KEYS[key], cb, {
|
|
enabled: !options.ignoreGlobalHotkeysStatus ? globalHotkeysEnabled : true,
|
|
enableOnFormTags: ['INPUT'],
|
|
});
|
|
}
|