import KEYS from '#core/constants/keys'; import { useHotkeys } from '@mantine/hooks'; import { useGlobalHotkeysStore } from '~/stores/global_hotkeys_store'; type ShortcutOptions = { enabled?: boolean; disableGlobalCheck?: boolean; }; export default function useShortcut( key: keyof typeof KEYS, cb: () => void, { enabled, disableGlobalCheck }: ShortcutOptions = { enabled: true, disableGlobalCheck: false, } ) { const { globalHotkeysEnabled } = useGlobalHotkeysStore(); const isEnabled = disableGlobalCheck ? enabled : enabled && globalHotkeysEnabled; return useHotkeys( [[KEYS[key], () => isEnabled && cb(), { preventDefault: true }]], undefined, true ); }