summaryrefslogtreecommitdiff
path: root/apps/web/app/reader/_components/entry-list.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/app/reader/_components/entry-list.tsx')
-rw-r--r--apps/web/app/reader/_components/entry-list.tsx15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/web/app/reader/_components/entry-list.tsx b/apps/web/app/reader/_components/entry-list.tsx
index acc0990..65e35f7 100644
--- a/apps/web/app/reader/_components/entry-list.tsx
+++ b/apps/web/app/reader/_components/entry-list.tsx
@@ -1,12 +1,13 @@
"use client"
-import { useRef, useEffect } from "react"
+import { useRef, useEffect, useMemo } from "react"
import { useVirtualizer } from "@tanstack/react-virtual"
import { useTimeline } from "@/lib/queries/use-timeline"
import { useSavedEntries } from "@/lib/queries/use-saved-entries"
import { useCustomFeedTimeline } from "@/lib/queries/use-custom-feed-timeline"
import { useUserInterfaceStore } from "@/lib/stores/user-interface-store"
import { EntryListItem } from "./entry-list-item"
+import { usePrefetchEntryDetails } from "@/lib/hooks/use-prefetch-entry-details"
interface EntryListProperties {
feedFilter: "all" | "saved"
@@ -77,11 +78,15 @@ export function EntryList({
const firstEntryIdentifier = allEntries[0]?.entryIdentifier
const lastEntryIdentifier = allEntries[allEntries.length - 1]?.entryIdentifier
+ const prefetchIdentifiers = useMemo(
+ () => allEntries.map((entry) => entry.entryIdentifier),
+ [firstEntryIdentifier, lastEntryIdentifier, allEntries.length]
+ )
+ usePrefetchEntryDetails(prefetchIdentifiers)
+
useEffect(() => {
- setNavigableEntryIdentifiers(
- allEntries.map((entry) => entry.entryIdentifier)
- )
- }, [firstEntryIdentifier, lastEntryIdentifier, allEntries.length, setNavigableEntryIdentifiers])
+ setNavigableEntryIdentifiers(prefetchIdentifiers)
+ }, [prefetchIdentifiers, setNavigableEntryIdentifiers])
function getEstimatedItemSize() {
switch (entryListViewMode) {