From 1cb0a1d72aac55bc936c1974b59b962665ffd8c9 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Thu, 20 Jul 2023 00:39:06 -0700 Subject: [PATCH] Add initial data fetch function to grid --- .../components/virtual-grid/virtual-infinite-grid.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/virtual-grid/virtual-infinite-grid.tsx b/src/renderer/components/virtual-grid/virtual-infinite-grid.tsx index 9663367f..4a8d9eae 100644 --- a/src/renderer/components/virtual-grid/virtual-infinite-grid.tsx +++ b/src/renderer/components/virtual-grid/virtual-infinite-grid.tsx @@ -26,6 +26,7 @@ interface VirtualGridProps cardRows: CardRow[]; display?: ListDisplayType; fetchFn: (options: { columnCount: number; skip: number; take: number }) => Promise; + fetchInitialData?: () => any; handleFavorite?: (options: { id: string[]; isFavorite: boolean; @@ -56,6 +57,7 @@ export const VirtualInfiniteGrid = forwardRef( handlePlayQueueAdd, minimumBatchSize, fetchFn, + fetchInitialData, loading, initialScrollOffset, handleFavorite, @@ -67,7 +69,7 @@ export const VirtualInfiniteGrid = forwardRef( const listRef = useRef(null); const loader = useRef(null); - const [itemData, setItemData] = useState([]); + const [itemData, setItemData] = useState(fetchInitialData?.() || []); const { itemHeight, rowCount, columnCount } = useMemo(() => { const itemsPerRow = itemSize;