{#if showCloseButton} {/if}
{#if !asset.isTrashed && $user} {/if} {#if asset.isOffline} {/if} {#if asset.livePhotoVideoId} {@render motionPhoto?.()} {/if} {#if asset.type === AssetTypeEnum.Image} 1 ? mdiMagnifyMinusOutline : mdiMagnifyPlusOutline} title={$t('zoom_image')} onclick={onZoomImage} /> {/if} {#if canCopyImageToClipboard() && asset.type === AssetTypeEnum.Image} onCopyImage?.()} /> {/if} {#if !isOwner && showDownloadButton} {/if} {#if showDetailButton} {/if} {#if isOwner} {/if} {#if isOwner} {#if showSlideshow} {/if} {#if showDownloadButton} {/if} {#if asset.isTrashed} {:else} {/if} {#if isOwner} {#if stack} {/if} {#if album} {/if} {#if person} {/if} {#if asset.type === AssetTypeEnum.Image} {/if} openFileUploadDialog({ multiple: false, assetId: asset.id })} text={$t('replace_with_upload')} /> {#if !asset.isArchived && !asset.isTrashed} goto(`${AppRoute.PHOTOS}?at=${stack?.primaryAssetId ?? asset.id}`)} text={$t('view_in_timeline')} /> {/if}
onRunJob(AssetJobName.RefreshFaces)} text={$getAssetJobName(AssetJobName.RefreshFaces)} /> onRunJob(AssetJobName.RefreshMetadata)} text={$getAssetJobName(AssetJobName.RefreshMetadata)} /> onRunJob(AssetJobName.RegenerateThumbnail)} text={$getAssetJobName(AssetJobName.RegenerateThumbnail)} /> {#if asset.type === AssetTypeEnum.Video} onRunJob(AssetJobName.TranscodeVideo)} text={$getAssetJobName(AssetJobName.TranscodeVideo)} /> {/if} {/if}
{/if}