diff --git a/web/src/lib/components/timeline/AssetLayout.svelte b/web/src/lib/components/timeline/AssetLayout.svelte index 4ecf71f517..c6ee04a21f 100644 --- a/web/src/lib/components/timeline/AssetLayout.svelte +++ b/web/src/lib/components/timeline/AssetLayout.svelte @@ -1,6 +1,5 @@
- {#each filterIsInOrNearViewport(viewerAssets) as viewerAsset (viewerAsset.id)} + {#each visibleViewerAssets as viewerAsset (viewerAsset.id)} {@const position = viewerAsset.position!} {@const asset = viewerAsset.asset!} diff --git a/web/src/lib/components/timeline/Month.svelte b/web/src/lib/components/timeline/Month.svelte index 3f4b9b0661..ccd1d025d9 100644 --- a/web/src/lib/components/timeline/Month.svelte +++ b/web/src/lib/components/timeline/Month.svelte @@ -101,6 +101,8 @@ this.viewerAssets.some((viewAsset) => viewAsset.isInOrNearViewport)); // Indices into viewerAssets bounding the in-or-near range. -1/-1 means no assets are in-or-near. // Updated imperatively by updateAssetBoundaries() from updateViewportProximities() and layout(). firstInOrNearIndex = $state(-1); lastInOrNearIndex = $state(-1); + isInOrNearViewport = $derived(this.firstInOrNearIndex !== -1); #top: number = $state(0); #start: number = $state(0);