From dd49d80744f5a767379ad2b198dc44d78f598f2b Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Fri, 21 Feb 2025 10:01:19 +0100 Subject: [PATCH] fix: thumbnails not loading --- src/components/reader/components/Thumbnail.tsx | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/components/reader/components/Thumbnail.tsx b/src/components/reader/components/Thumbnail.tsx index 520a1a0..590adf3 100644 --- a/src/components/reader/components/Thumbnail.tsx +++ b/src/components/reader/components/Thumbnail.tsx @@ -2,7 +2,7 @@ import { ThumbnailProps } from "../types"; import { ImageLoader } from "@/components/ui/image-loader"; import { cn } from "@/lib/utils"; import Image from "next/image"; -import { forwardRef, useEffect, useState, useCallback, useRef } from "react"; +import { forwardRef, useEffect, useState, useCallback, useRef, useImperativeHandle } from "react"; export const Thumbnail = forwardRef( ( @@ -23,7 +23,9 @@ export const Thumbnail = forwardRef( const [isInViewport, setIsInViewport] = useState(false); const loadAttempts = useRef(0); const maxAttempts = 3; - const thumbnailRef = useRef(null); + const internalRef = useRef(null); + + useImperativeHandle(ref, () => internalRef.current as HTMLButtonElement); const resetLoadingState = useCallback(() => { setIsLoading(true); @@ -46,7 +48,7 @@ export const Thumbnail = forwardRef( } ); - const element = thumbnailRef.current; + const element = internalRef.current; if (element) { observer.observe(element); } @@ -105,14 +107,7 @@ export const Thumbnail = forwardRef( return (