{#if $assetStore.timelineHeight > height}
(isHover = true)} on:mouseleave={() => { isHover = false; isDragging = false; }} on:mouseenter={({ clientY, buttons }) => handleMouseEvent({ clientY, isDragging: !!buttons })} on:mousemove={({ clientY }) => handleMouseEvent({ clientY })} on:mousedown={({ clientY }) => handleMouseEvent({ clientY, isDragging: true })} on:mouseup={({ clientY }) => handleMouseEvent({ clientY, isDragging: false })} > {#if isHover}
{hoverLabel}
{/if} {#if !isDragging}
{/if} {#each segments as segment, index (segment.timeGroup)} {@const date = fromLocalDateTime(segment.timeGroup)} {@const year = date.year} {@const label = `${date.toLocaleString({ month: 'short' })} ${year}`} {@const lastGroupYear = fromLocalDateTime(segments[index - 1]?.timeGroup).year}
(hoverLabel = label)} > {#if lastGroupYear !== year && (index == 0 || prevYearSegmentHeight(segments, index - 1) > 16)}
{year}
{:else if segment.height > 5}
{/if}
{/each}
{/if}