This commit is contained in:
truewhile
2026-09-13 21:03:06 +08:00
parent 9a68ef701f
commit 670dd90dbe
3 changed files with 25 additions and 3 deletions
+7 -1
View File
@@ -151,7 +151,13 @@ export function HomePage() {
.filter((l) => l.carousel_enabled === true)
.map((l) => l.id)
const topRowLibIds = sortedLibraries.slice(0, 3).map((l) => l.id)
const initialTargets = Array.from(new Set([...carouselLibIds, ...topRowLibIds]))
// 入口网格仍然是一次展示 20 个库;没有自定义封面的库必须在首屏
// 立即拉预览,否则会先出现占位图标再补图,体感反而更慢。
const topGridLibIds = sortedLibraries
.slice(0, 20)
.filter((l) => !l.cover_url)
.map((l) => l.id)
const initialTargets = Array.from(new Set([...carouselLibIds, ...topRowLibIds, ...topGridLibIds]))
void fetchPreviews(initialTargets, 10)
}, [sortedLibraries, fetchPreviews])
+5 -1
View File
@@ -482,7 +482,11 @@ function HomeLibraryCard({
artwork.map(({ src, version }, index) => (
<img
key={`${src}-${index}`}
src={imageURL(src, version, { maxWidth: 480, maxHeight: 320, quality: 78 })}
src={imageURL(
src,
version,
library.cover_url ? undefined : { maxWidth: 480, maxHeight: 320, quality: 78 },
)}
alt=""
loading="lazy"
referrerPolicy="no-referrer"
+13 -1
View File
@@ -192,6 +192,14 @@ export function LibrariesContent({
return previews.slice(start, start + ENTRY_PAGE_SIZE)
}, [previews, effectiveEntryPage])
// 入口网格首屏展示前 20 个库;没有自定义封面的库需要立即拉预览,否则卡片会先渲染占位图标再补图。
useEffect(() => {
const ids = pagedPreviews.filter((preview) => !preview.library.cover_url).map((preview) => preview.library.id)
if (ids.length > 0) {
onNeedPreviews?.(ids)
}
}, [pagedPreviews, onNeedPreviews])
return (
<>
@@ -342,7 +350,11 @@ function LibraryEntryCard({
artwork.map(({ src, version }, index) => (
<img
key={`${src}-${index}`}
src={imageURL(src, version, { maxWidth: 400, maxHeight: 300, quality: 78 })}
src={imageURL(
src,
version,
library.cover_url ? undefined : { maxWidth: 400, maxHeight: 300, quality: 78 },
)}
alt=""
loading="lazy"
referrerPolicy="no-referrer"