-
-
+ {/snippet}
+ {#snippet segment({ segment, onScrollCompensationMonthInDOM })}
+
- {@render children?.()}
- {#if isEmpty}
-
- {@render empty?.()}
- {/if}
-
-
- {#each timelineManager.months as monthGroup (monthGroup.viewId)}
- {@const display = monthGroup.intersecting}
- {@const absoluteHeight = monthGroup.top}
-
- {#if !monthGroup.isLoaded}
-
-
-
- {:else if display}
-
-
- {#snippet content({ onAssetOpen, onAssetSelect, onAssetHover })}
-
- {#snippet content({ onDayGroupSelect, onDayGroupAssetSelect })}
-
- {#snippet thumbnail({ asset, position, dayGroup, groupIndex })}
- {@const isAssetSelectionCandidate = assetInteraction.hasSelectionCandidate(asset.id)}
- {@const isAssetSelected =
- assetInteraction.hasSelectedAsset(asset.id) || timelineManager.albumAssets.has(asset.id)}
- {@const isAssetDisabled = timelineManager.albumAssets.has(asset.id)}
- onAssetOpen(asset)}
- onSelect={() => onDayGroupAssetSelect(dayGroup, asset)}
- onMouseEvent={(isMouseOver) => {
- if (isMouseOver) {
- onAssetHover(asset);
- } else {
- onAssetHover(null);
- }
- }}
- selected={isAssetSelected}
- selectionCandidate={isAssetSelectionCandidate}
- disabled={isAssetDisabled}
- thumbnailWidth={position.width}
- thumbnailHeight={position.height}
- />
- {/snippet}
-
- {/snippet}
-
- {/snippet}
-
-
- {/if}
- {/each}
-
-
-