diff --git a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte index 35bab9fa81..191996b726 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte @@ -126,6 +126,7 @@ text={asset.isArchived ? 'Unarchive' : 'Archive'} /> {/if} + onMenuClick('asProfileImage')} text="As profile picture" /> {/if} diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte index 7de3b2f537..e5c174af12 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -13,6 +13,7 @@ import PhotoViewer from './photo-viewer.svelte'; import VideoViewer from './video-viewer.svelte'; import ConfirmDialogue from '$lib/components/shared-components/confirm-dialogue.svelte'; + import ProfileImageCropper from '../shared-components/profile-image-cropper.svelte'; import { assetStore } from '$lib/stores/assets.store'; import { isShowDetail } from '$lib/stores/preferences.store'; @@ -32,6 +33,7 @@ let isShowDeleteConfirmation = false; let addToSharedAlbum = true; let shouldPlayMotionPhoto = false; + let isShowProfileImageCrop = false; let shouldShowDownloadButton = sharedLink ? sharedLink.allowDownload : true; let canCopyImagesToClipboard: boolean; const onKeyboardPress = (keyInfo: KeyboardEvent) => handleKeyboardPress(keyInfo.key); @@ -247,6 +249,7 @@ on:playMotionPhoto={() => (shouldPlayMotionPhoto = true)} on:stopMotionPhoto={() => (shouldPlayMotionPhoto = false)} on:toggleArchive={toggleArchive} + on:asProfileImage={() => (isShowProfileImageCrop = true)} /> @@ -371,6 +374,15 @@ {/if} + + {#if isShowProfileImageCrop} + (isShowProfileImageCrop = false)} + on:close-viewer={handleCloseViewer} + /> + {/if}