handleNextAsset() }, { shortcut: { key: 'd' }, onShortcut: () => handleNextAsset() }, { shortcut: { key: 'ArrowLeft' }, onShortcut: () => handlePreviousAsset() }, { shortcut: { key: 'a' }, onShortcut: () => handlePreviousAsset() }, { shortcut: { key: 'Escape' }, onShortcut: () => handleEscape() }, ]} /> {#if assetInteraction.selectionActive}
cancelMultiselect(assetInteraction)} > {#if $preferences.tags.enabled && assetInteraction.isAllUserOwned} {/if}
{/if}
((viewport.height = height), (viewport.width = width))} > {#if current} goto(AppRoute.PHOTOS)} forceDark multiRow> {#snippet leading()} {#if current}

{$memoryLaneTitle(current.memory)}

{/if} {/snippet}
handlePromiseError(handleAction('PlayPauseButtonClick', paused ? 'play' : 'pause'))} class="hover:text-black" /> {#each current.memory.assets as asset, index (asset.id)} {/each}

{(current.assetIndex + 1).toLocaleString($locale)}/{current.memory.assets.length.toLocaleString($locale)}

($videoViewerMuted = !$videoViewerMuted)} />
{#if galleryInView}
{/if}
{#key current.asset.id}
{#if current.asset.isVideo} {:else} {$getAltText(current.asset)} {/if}
{/key}
handleSaveMemory()} class="text-white dark:text-white w-[48px] h-[48px]" /> handlePromiseError(handleAction('ContextMenuClick', 'pause'))} direction="left" size="20" align="bottom-right" class="text-white dark:text-white" > handleDeleteMemory()} text={$t('remove_memory')} icon={mdiCardsOutline} /> handleDeleteMemoryAsset()} text={$t('remove_photo_from_memory')} icon={mdiImageMinusOutline} />
{#if current.previous}
{/if} {#if current.next}
{/if}

{fromLocalDateTime(current.memory.assets[0].localDateTime).toLocaleString(DateTime.DATE_FULL, { locale: $locale, })}

{#await currentMemoryAssetFull then asset} {asset?.exifInfo?.city || ''} {asset?.exifInfo?.country || ''} {/await}

{/if}
{#if current}
memoryGallery?.scrollIntoView({ behavior: 'smooth' })} />
{/if}