fixed gallery display bug

This commit is contained in:
Linrador 2026-05-18 15:32:18 +02:00
parent 2ee9599fd3
commit ac144a36a8

View File

@ -2281,6 +2281,33 @@ export default function FinishedDownloads({
DEFAULT_GALLERY_PAGE_SIZE
)
const lastGalleryScaleIndexRef = useRef(galleryCardScaleIndex)
const handleGalleryRecommendedPageSizeChange = useCallback((rawSize: number) => {
const rounded = Math.round(Number(rawSize))
if (!Number.isFinite(rounded) || rounded <= 0) return
const next = Math.max(1, Math.min(24, rounded))
setGalleryPageSize((current) => {
const scaleChanged = lastGalleryScaleIndexRef.current !== galleryCardScaleIndex
if (scaleChanged) {
lastGalleryScaleIndexRef.current = galleryCardScaleIndex
return next
}
// Wichtig:
// Nach Page-Wechsel/ResizeObserver kann kurz 8 statt 10 gemeldet werden.
// Nicht automatisch verkleinern, sonst verschwinden bereits geladene Cards.
if (next < current) {
return current
}
return next
})
}, [galleryCardScaleIndex])
const effectivePageSize =
view === 'gallery'
? galleryPageSize
@ -2535,8 +2562,7 @@ export default function FinishedDownloads({
showOnlyCorrupt,
])
const finishedDownloadsLoading =
allDoneJobsLoading && globalFilterActive && allDoneJobs === null
const finishedDownloadsLoading = allDoneJobsLoading
const totalItemsForPagination =
finishedDownloadsLoading
@ -5562,7 +5588,7 @@ export default function FinishedDownloads({
forcePreviewMuted={forcePreviewMuted}
cardScale={galleryCardScale}
renderPostworkBadge={renderClickablePostworkBadge}
onRecommendedPageSizeChange={setGalleryPageSize}
onRecommendedPageSizeChange={handleGalleryRecommendedPageSizeChange}
assetNonce={assetNonce ?? 0}
renderIntegrityBadge={renderIntegrityBadge}
renderRatingOverlay={renderRatingOverlay}