{#each assetsGroupByDate as groupAssets, groupIndex (groupAssets[0].id)} {@const asset = groupAssets[0]} {@const groupTitle = formatGroupTitle(fromLocalDateTime(asset.localDateTime).startOf('day'))}
{ isMouseOverGroup = true; assetMouseEventHandler(groupTitle, null); }} on:mouseleave={() => { isMouseOverGroup = false; assetMouseEventHandler(groupTitle, null); }} >

{#if !singleSelect && ((hoveredDateGroup == groupTitle && isMouseOverGroup) || $selectedGroup.has(groupTitle))}

handleSelectGroup(groupTitle, groupAssets)} on:keydown={() => handleSelectGroup(groupTitle, groupAssets)} > {#if $selectedGroup.has(groupTitle)} {:else} {/if}
{/if} {groupTitle}

{#each groupAssets as asset, index (asset.id)} {@const box = geometry[groupIndex].boxes[index]}
assetClickHandler(asset, groupAssets, groupTitle)} on:select={() => assetSelectHandler(asset, groupAssets, groupTitle)} on:mouse-event={() => assetMouseEventHandler(groupTitle, asset)} selected={$selectedAssets.has(asset) || $assetStore.albumAssets.has(asset.id)} selectionCandidate={$assetSelectionCandidates.has(asset)} disabled={$assetStore.albumAssets.has(asset.id)} thumbnailWidth={box.width} thumbnailHeight={box.height} />
{/each}
{/each}