Files
twenty/front/src/modules/keyboard-shortcut-menu/hooks/useKeyboardShortcutMenu.ts
Kanav Arora ff42526a09 2311 embed keyboard shortcuts (#2507)
* 2311-feat(front): AppHotKeyScope and CustomHotKeyScopes configured

* 2311-feat(front): Groups and Items added

* 2311-fix: pr requested changes

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-21 23:36:23 +01:00

48 lines
1.4 KiB
TypeScript

import { useRecoilState, useRecoilValue } from 'recoil';
import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope';
import { AppHotkeyScope } from '@/ui/utilities/hotkey/types/AppHotkeyScope';
import { isKeyboardShortcutMenuOpenedState } from '../states/isKeyboardShortcutMenuOpenedState';
export const useKeyboardShortcutMenu = () => {
const [, setIsKeyboardShortcutMenuOpened] = useRecoilState(
isKeyboardShortcutMenuOpenedState,
);
const isKeyboardShortcutMenuOpened = useRecoilValue(
isKeyboardShortcutMenuOpenedState,
);
const {
setHotkeyScopeAndMemorizePreviousScope,
goBackToPreviousHotkeyScope,
} = usePreviousHotkeyScope();
const toggleKeyboardShortcutMenu = () => {
if (isKeyboardShortcutMenuOpened === false) {
setIsKeyboardShortcutMenuOpened(true);
setHotkeyScopeAndMemorizePreviousScope(
AppHotkeyScope.KeyboardShortcutMenu,
);
} else {
setIsKeyboardShortcutMenuOpened(false);
goBackToPreviousHotkeyScope();
}
};
const openKeyboardShortcutMenu = () => {
setIsKeyboardShortcutMenuOpened(true);
setHotkeyScopeAndMemorizePreviousScope(AppHotkeyScope.KeyboardShortcutMenu);
};
const closeKeyboardShortcutMenu = () => {
setIsKeyboardShortcutMenuOpened(false);
goBackToPreviousHotkeyScope();
};
return {
toggleKeyboardShortcutMenu,
openKeyboardShortcutMenu,
closeKeyboardShortcutMenu,
};
};