Fix/scope hotkeys (#581)

* WIP

* asd

* Fix

* Fix lint

* Removed console log

* asd

* Removed isDefined

* Fix/debounce company card onchange (#580)

* Add internal state and debounce for editable text card

* Use debounce for date fields too

* Update refetch

* Nit

* Removed comments

* Ménage

---------

Co-authored-by: Emilien Chauvet <emilien.chauvet.enpc@gmail.com>
This commit is contained in:
Lucas Bordeau
2023-07-11 03:53:46 +02:00
committed by GitHub
parent 1c8aaff39d
commit 5f98b70c6a
71 changed files with 581 additions and 509 deletions

View File

@ -1,6 +1,6 @@
import { useRecoilState } from 'recoil';
import { useHotkeysScopeOnBooleanState } from '@/hotkeys/hooks/useHotkeysScopeOnBooleanState';
import { usePreviousHotkeysScope } from '@/hotkeys/hooks/internal/usePreviousHotkeysScope';
import { useScopedHotkeys } from '@/hotkeys/hooks/useScopedHotkeys';
import { InternalHotkeysScope } from '@/hotkeys/types/internal/InternalHotkeysScope';
@ -13,7 +13,6 @@ import {
StyledGroup,
StyledInput,
StyledList,
// StyledSeparator,
} from './CommandMenuStyles';
export function CommandMenu() {
@ -22,16 +21,26 @@ export function CommandMenu() {
useScopedHotkeys(
'ctrl+k,meta+k',
() => {
setOpen((prevOpen) => !prevOpen);
handleOpenChange(!open);
},
InternalHotkeysScope.CommandMenu,
[setOpen],
[setOpen, open, handleOpenChange],
);
useHotkeysScopeOnBooleanState(
{ scope: InternalHotkeysScope.CommandMenu },
open,
);
const {
setHotkeysScopeAndMemorizePreviousScope,
goBackToPreviousHotkeysScope,
} = usePreviousHotkeysScope();
function handleOpenChange(newOpenState: boolean) {
if (newOpenState) {
setOpen(true);
setHotkeysScopeAndMemorizePreviousScope(InternalHotkeysScope.CommandMenu);
} else {
setOpen(false);
goBackToPreviousHotkeysScope();
}
}
/*
TODO: Allow performing actions on page through CommandBar
@ -73,7 +82,7 @@ export function CommandMenu() {
return (
<StyledDialog
open={open}
onOpenChange={setOpen}
onOpenChange={handleOpenChange}
label="Global Command Menu"
>
<StyledInput placeholder="Search" />