+ {pages.map(pageNumber => (
+
pagesData.scrollToPage(pageNumber)}
+ />
+ ))}
+
+ );
+}
+
+function PdfPageItem({
+ pageNumber,
+ isActive,
+ thumbnail,
+ onRequestThumbnail,
+ onPageClick
+}: {
+ pageNumber: number;
+ isActive: boolean;
+ thumbnail?: string;
+}) {
+ const hasRequested = useRef(false);
+
+ useEffect(() => {
+ if (!thumbnail && !hasRequested.current) {
+ hasRequested.current = true;
+ onRequestThumbnail(pageNumber);
+ }
+ }, [pageNumber, thumbnail, onRequestThumbnail]);
+
+ return (
+