dispatch('delete')} title="Delete" />
(isShowAssetOptions = false),
onEscape: () => (isShowAssetOptions = false),
}}
>
{#if isShowAssetOptions}
{#if showSlideshow}
onMenuClick('playSlideShow')} text="Slideshow" />
{/if}
{#if showDownloadButton}
onMenuClick('download')} text="Download" />
{/if}
{#if asset.isTrashed}
onMenuClick('restoreAsset')} text="Restore" />
{:else}
onMenuClick('addToAlbum')} text="Add to album" />
onMenuClick('addToSharedAlbum')}
text="Add to shared album"
/>
{/if}
{#if isOwner}
{#if hasStackChildren}
onMenuClick('unstack')} text="Un-stack" />
{/if}
{#if album}
onMenuClick('setAsAlbumCover')}
/>
{/if}
{#if asset.type === AssetTypeEnum.Image}
onMenuClick('asProfileImage')}
text="Set as profile picture"
/>
{/if}
dispatch('toggleArchive')}
icon={asset.isArchived ? mdiArchiveArrowUpOutline : mdiArchiveArrowDownOutline}
text={asset.isArchived ? 'Unarchive' : 'Archive'}
/>
openFileUploadDialog({ multiple: false, assetId: asset.id })}
text="Replace with upload"
/>
onJobClick(AssetJobName.RefreshMetadata)}
text={getAssetJobName(AssetJobName.RefreshMetadata)}
/>
onJobClick(AssetJobName.RegenerateThumbnail)}
text={getAssetJobName(AssetJobName.RegenerateThumbnail)}
/>
{#if asset.type === AssetTypeEnum.Video}
onJobClick(AssetJobName.TranscodeVideo)}
text={getAssetJobName(AssetJobName.TranscodeVideo)}
/>
{/if}
{/if}
{/if}
{/if}