diff --git a/packages/shared/components/media-viewer/sub-components/ImageViewer/index.tsx b/packages/shared/components/media-viewer/sub-components/ImageViewer/index.tsx index 9aa9ae0e8a..388e668fae 100644 --- a/packages/shared/components/media-viewer/sub-components/ImageViewer/index.tsx +++ b/packages/shared/components/media-viewer/sub-components/ImageViewer/index.tsx @@ -111,6 +111,7 @@ export const ImageViewer = ({ const toolbarRef = useRef(null); const [scale, setScale] = useState(1); + const [showOriginSrc, setShowOriginSrc] = useState(false); const [isError, setIsError] = useState(false); const [isLoading, setIsLoading] = useState(false); const [backgroundBlack, setBackgroundBlack] = useState(() => false); @@ -854,18 +855,19 @@ export const ImageViewer = ({ } }; - const onError = useCallback( - (e: SyntheticEvent) => { - if (window.ClientConfig?.imageThumbnails && thumbnailSrc && src) { - // if thumbnailSrc is unavailable, try to load original image - e.currentTarget.src = src; - return; - } + const onError = useCallback(() => { + if ( + window.ClientConfig?.imageThumbnails && + thumbnailSrc && + (src || isTiff) + ) { + // if thumbnailSrc is unavailable, try to load original image + setShowOriginSrc(true); + return; + } - setIsError(true); - }, - [src, thumbnailSrc], - ); + setIsError(true); + }, [src, thumbnailSrc, isTiff]); const model = React.useMemo(() => contextModel(true), [contextModel]); @@ -983,7 +985,9 @@ export const ImageViewer = ({