* 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>
48 lines
1.4 KiB
TypeScript
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,
|
|
};
|
|
};
|