Message / Sticker: Fix missing preview when sending twice
This commit is contained in:
parent
610574c23a
commit
56af8a0f36
@ -7,6 +7,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.noTransition {
|
||||||
|
transition: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
.media {
|
.media {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|||||||
@ -100,11 +100,13 @@ const StickerView: FC<OwnProps> = ({
|
|||||||
const shouldSkipFullMedia = Boolean(fullMediaHash === previewMediaHash && preloadedPreviewData);
|
const shouldSkipFullMedia = Boolean(fullMediaHash === previewMediaHash && preloadedPreviewData);
|
||||||
|
|
||||||
const fullMediaData = useMedia(fullMediaHash, !shouldLoad || shouldSkipFullMedia, undefined, cacheBuster);
|
const fullMediaData = useMedia(fullMediaHash, !shouldLoad || shouldSkipFullMedia, undefined, cacheBuster);
|
||||||
const [isPlayerReady, markPlayerReady] = useFlag(Boolean(isLottie && fullMediaData));
|
// If Lottie data is loaded we will only render thumb if it's good enough (from preview)
|
||||||
|
const [isPlayerReady, markPlayerReady] = useFlag(Boolean(isLottie && fullMediaData && !preloadedPreviewData));
|
||||||
const isFullMediaReady = fullMediaData && (isStatic || isPlayerReady);
|
const isFullMediaReady = fullMediaData && (isStatic || isPlayerReady);
|
||||||
|
|
||||||
const thumbClassNames = useMediaTransition(thumbData && !isFullMediaReady);
|
const thumbClassNames = useMediaTransition(thumbData && !isFullMediaReady);
|
||||||
const fullMediaClassNames = useMediaTransition(isFullMediaReady);
|
const fullMediaClassNames = useMediaTransition(isFullMediaReady);
|
||||||
|
const noTransition = isLottie && preloadedPreviewData;
|
||||||
|
|
||||||
// Preload preview for Message Input and local message
|
// Preload preview for Message Input and local message
|
||||||
useMedia(previewMediaHash, !shouldLoad || !shouldPreloadPreview, undefined, cacheBuster);
|
useMedia(previewMediaHash, !shouldLoad || !shouldPreloadPreview, undefined, cacheBuster);
|
||||||
@ -118,7 +120,7 @@ const StickerView: FC<OwnProps> = ({
|
|||||||
<>
|
<>
|
||||||
<img
|
<img
|
||||||
src={thumbData}
|
src={thumbData}
|
||||||
className={buildClassName(styles.thumb, thumbClassName, thumbClassNames)}
|
className={buildClassName(styles.thumb, noTransition && styles.noTransition, thumbClassName, thumbClassNames)}
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
{isLottie ? (
|
{isLottie ? (
|
||||||
@ -126,7 +128,9 @@ const StickerView: FC<OwnProps> = ({
|
|||||||
key={idKey}
|
key={idKey}
|
||||||
id={idKey}
|
id={idKey}
|
||||||
size={size}
|
size={size}
|
||||||
className={buildClassName(styles.media, fullMediaClassName, fullMediaClassNames)}
|
className={buildClassName(
|
||||||
|
styles.media, noTransition && styles.noTransition, fullMediaClassName, fullMediaClassNames,
|
||||||
|
)}
|
||||||
tgsUrl={fullMediaData}
|
tgsUrl={fullMediaData}
|
||||||
play={shouldPlay}
|
play={shouldPlay}
|
||||||
color={customColor}
|
color={customColor}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user