diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte index 2d878cd336..ae8f4822bf 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -91,8 +91,6 @@ slideshowState, slideshowTransition, } = slideshowStore; - const stackThumbnailSize = 60; - const stackSelectedThumbnailSize = 65; let appearsInAlbums: AlbumResponseDto[] = $state([]); let shouldPlayMotionPhoto = $state(false); @@ -360,6 +358,19 @@ let isFullScreen = $derived(fullscreenElement !== null); + /** + * Stack slide show size & scroll + */ + const stackThumbnailSize = 60; + const stackSelectedThumbnailSize = 65; + let stackSlideShowContainerMaxHeight = $state(stackSelectedThumbnailSize * 2 + 'px'); + let stackSlideshowContainer = $state(); + const parseScroll = () => { + let yScroll = stackSlideshowContainer?.scrollTop ?? 0; + stackSlideShowContainerMaxHeight = + Math.min(stackSelectedThumbnailSize * 2 + yScroll, stackSelectedThumbnailSize * 4) + 'px'; + }; + $effect(() => { if (asset) { previewStackedAsset = undefined; @@ -561,7 +572,9 @@
{#each stackedAssets as stackedAsset (stackedAsset.id)}