From fc61b38b885d4d3df0ac09c2e8912f0df0da57ad Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Thu, 12 Aug 2021 15:36:33 +0300 Subject: [PATCH] Sticker Set Modal: Prevent exception when missing sticker set --- src/components/common/StickerSetModal.tsx | 6 ++++-- src/components/main/Main.tsx | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/common/StickerSetModal.tsx b/src/components/common/StickerSetModal.tsx index f21f42d85..1baf504b5 100644 --- a/src/components/common/StickerSetModal.tsx +++ b/src/components/common/StickerSetModal.tsx @@ -61,7 +61,7 @@ const StickerSetModal: FC = ({ stickerSetId, stickerSetAccessHash, }); - } else { + } else if (stickerSetShortName) { loadStickers({ stickerSetShortName, }); @@ -134,7 +134,9 @@ export default memo(withGlobal( return { stickerSet: fromSticker ? selectStickerSet(global, fromSticker.stickerSetId) - : selectStickerSetByShortName(global, stickerSetShortName!), + : stickerSetShortName + ? selectStickerSetByShortName(global, stickerSetShortName) + : undefined, }; }, (setGlobal, actions): DispatchProps => pick(actions, [ diff --git a/src/components/main/Main.tsx b/src/components/main/Main.tsx index 212bde0d0..544f82118 100644 --- a/src/components/main/Main.tsx +++ b/src/components/main/Main.tsx @@ -214,6 +214,10 @@ const Main: FC = ({ updateIcon(false); }, [updateIsOnline]); + const handleStickerSetModalClose = useCallback(() => { + openStickerSetShortName({ stickerSetShortName: undefined }); + }, [openStickerSetShortName]); + // Online status and browser tab indicators useBackgroundMode(handleBlur, handleFocus); useBeforeUnload(handleBlur); @@ -236,8 +240,8 @@ const Main: FC = ({ openStickerSetShortName({ stickerSetShortName: undefined })} + isOpen={Boolean(openedStickerSetShortName)} + onClose={handleStickerSetModalClose} stickerSetShortName={openedStickerSetShortName} />