fix: re-add scroll compensation (efficiently) (#22848)

* fix: re-add scroll compensation (efficient)

* Rename showSkeleton to invisible. Adjust skeleton margins, invisible support.

* Fix faulty logic, simplify

* Calculate ratios and determine compensation strategy: height comp for above/partiality visible, month-scroll comp within a fully visible month.

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Min Idzelis
2025-10-13 22:16:05 -04:00
committed by GitHub
parent e8ca7f235c
commit 146973b072
8 changed files with 128 additions and 71 deletions

View File

@@ -13,7 +13,7 @@
interface Props {
timelineManager: TimelineManager;
showSkeleton: boolean;
invisible: boolean;
withStacked?: boolean;
isShared?: boolean;
album?: AlbumResponseDto | null;
@@ -30,7 +30,7 @@
let {
timelineManager,
showSkeleton = $bindable(false),
invisible = $bindable(false),
removeAction,
withStacked = false,
isShared = false,
@@ -81,7 +81,7 @@
const handleClose = async (asset: { id: string }) => {
assetViewingStore.showAssetViewer(false);
showSkeleton = true;
invisible = true;
$gridScrollTarget = { at: asset.id };
await navigate({ targetRoute: 'current', assetId: null, assetGridRouteSearchParams: $gridScrollTarget });
};