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
|
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 =
|
const effectivePageSize =
|
||||||
view === 'gallery'
|
view === 'gallery'
|
||||||
? galleryPageSize
|
? galleryPageSize
|
||||||
@ -2535,8 +2562,7 @@ export default function FinishedDownloads({
|
|||||||
showOnlyCorrupt,
|
showOnlyCorrupt,
|
||||||
])
|
])
|
||||||
|
|
||||||
const finishedDownloadsLoading =
|
const finishedDownloadsLoading = allDoneJobsLoading
|
||||||
allDoneJobsLoading && globalFilterActive && allDoneJobs === null
|
|
||||||
|
|
||||||
const totalItemsForPagination =
|
const totalItemsForPagination =
|
||||||
finishedDownloadsLoading
|
finishedDownloadsLoading
|
||||||
@ -5562,7 +5588,7 @@ export default function FinishedDownloads({
|
|||||||
forcePreviewMuted={forcePreviewMuted}
|
forcePreviewMuted={forcePreviewMuted}
|
||||||
cardScale={galleryCardScale}
|
cardScale={galleryCardScale}
|
||||||
renderPostworkBadge={renderClickablePostworkBadge}
|
renderPostworkBadge={renderClickablePostworkBadge}
|
||||||
onRecommendedPageSizeChange={setGalleryPageSize}
|
onRecommendedPageSizeChange={handleGalleryRecommendedPageSizeChange}
|
||||||
assetNonce={assetNonce ?? 0}
|
assetNonce={assetNonce ?? 0}
|
||||||
renderIntegrityBadge={renderIntegrityBadge}
|
renderIntegrityBadge={renderIntegrityBadge}
|
||||||
renderRatingOverlay={renderRatingOverlay}
|
renderRatingOverlay={renderRatingOverlay}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user