fixed gallery display bug
This commit is contained in:
parent
2ee9599fd3
commit
ac144a36a8
@ -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}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user