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
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();