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 (