Make ESC key dismiss MediaEditor and TextStoryCreator modals

This commit is contained in:
Alvaro 2022-08-15 13:35:30 -06:00 committed by GitHub
parent 385eb63fd5
commit 95be24e8f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 61 additions and 9 deletions

View file

@ -26,6 +26,7 @@ export type OwnProps = {
readonly knownPacks: ReadonlyArray<StickerPackType>;
readonly installedPack?: StickerPackType | null;
readonly recentStickers: ReadonlyArray<StickerType>;
readonly onOpenStateChanged?: (isOpen: boolean) => void;
readonly clearInstalledStickerPack: () => unknown;
readonly onClickAddPack?: () => unknown;
readonly onPickSticker: (
@ -51,6 +52,7 @@ export const StickerButton = React.memo(
onClickAddPack,
onPickSticker,
recentStickers,
onOpenStateChanged,
receivedPacks,
installedPack,
installedPacks,
@ -63,7 +65,16 @@ export const StickerButton = React.memo(
position = 'top-end',
theme,
}: Props) => {
const [open, setOpen] = React.useState(false);
const [open, internalSetOpen] = React.useState(false);
const setOpen = React.useCallback(
(value: boolean) => {
internalSetOpen(value);
if (onOpenStateChanged) onOpenStateChanged(value);
},
[internalSetOpen, onOpenStateChanged]
);
const [popperRoot, setPopperRoot] = React.useState<HTMLElement | null>(
null
);
@ -110,7 +121,7 @@ export const StickerButton = React.memo(
clearShowPickerHint();
}
onClickAddPack?.();
}, [onClickAddPack, showPickerHint, clearShowPickerHint]);
}, [onClickAddPack, showPickerHint, setOpen, clearShowPickerHint]);
const handleClearIntroduction = React.useCallback(() => {
clearInstalledStickerPack();