From c3fd837a812f3386f12a252de71951a0193cd095 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 22 Feb 2023 23:48:45 +0100 Subject: [PATCH] Sticker: Fix effect not playing on slave tab (#2651) --- src/components/middle/message/Sticker.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/middle/message/Sticker.tsx b/src/components/middle/message/Sticker.tsx index 955bb068b..ea948bca5 100644 --- a/src/components/middle/message/Sticker.tsx +++ b/src/components/middle/message/Sticker.tsx @@ -16,6 +16,7 @@ import useMedia from '../../../hooks/useMedia'; import useFlag from '../../../hooks/useFlag'; import useLang from '../../../hooks/useLang'; import useAppLayout from '../../../hooks/useAppLayout'; +import usePrevious from '../../../hooks/usePrevious'; import StickerView from '../../common/StickerView'; import AnimatedSticker from '../../common/AnimatedSticker'; @@ -71,12 +72,14 @@ const Sticker: FC = ({ onStopEffect?.(); }, [onStopEffect, stopPlayingEffect]); + const previousShouldPlayEffect = usePrevious(shouldPlayEffect); + useEffect(() => { - if (hasEffect && canPlay && shouldPlayEffect) { + if (hasEffect && canPlay && (shouldPlayEffect || previousShouldPlayEffect)) { startPlayingEffect(); onPlayEffect?.(); } - }, [hasEffect, canPlay, onPlayEffect, shouldPlayEffect, startPlayingEffect]); + }, [hasEffect, canPlay, onPlayEffect, shouldPlayEffect, previousShouldPlayEffect, startPlayingEffect]); const openModal = useCallback(() => { openStickerSet({