From 4cbb18aabcf00ae4784fe42c568c1a371f623dd1 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Wed, 16 Aug 2023 14:25:39 -0400 Subject: [PATCH] feat(web): remove and delete from album (#3725) --- .../photos-page/actions/delete-assets.svelte | 8 +++++++- .../photos-page/actions/remove-from-album.svelte | 12 +++++++++--- web/src/routes/(user)/albums/[albumId]/+page.svelte | 10 +++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/web/src/lib/components/photos-page/actions/delete-assets.svelte b/web/src/lib/components/photos-page/actions/delete-assets.svelte index 6283d6b4df..7aa83b78f9 100644 --- a/web/src/lib/components/photos-page/actions/delete-assets.svelte +++ b/web/src/lib/components/photos-page/actions/delete-assets.svelte @@ -9,8 +9,10 @@ import { OnAssetDelete, getAssetControlContext } from '../asset-select-control-bar.svelte'; import ConfirmDialogue from '$lib/components/shared-components/confirm-dialogue.svelte'; import { handleError } from '../../../utils/handle-error'; + import MenuOption from '../../shared-components/context-menu/menu-option.svelte'; export let onAssetDelete: OnAssetDelete; + export let menuItem = false; const { getAssets, clearSelect } = getAssetControlContext(); let isShowConfirmation = false; @@ -46,7 +48,11 @@ }; - (isShowConfirmation = true)} /> +{#if menuItem} + (isShowConfirmation = true)} /> +{:else} + (isShowConfirmation = true)} /> +{/if} {#if isShowConfirmation} import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte'; + import ConfirmDialogue from '$lib/components/shared-components/confirm-dialogue.svelte'; import { NotificationType, notificationController, } from '$lib/components/shared-components/notification/notification'; import { AlbumResponseDto, api } from '@api'; import DeleteOutline from 'svelte-material-icons/DeleteOutline.svelte'; + import MenuOption from '../../shared-components/context-menu/menu-option.svelte'; import { getAssetControlContext } from '../asset-select-control-bar.svelte'; - import ConfirmDialogue from '$lib/components/shared-components/confirm-dialogue.svelte'; export let album: AlbumResponseDto; export let onRemove: ((assetIds: string[]) => void) | undefined = undefined; + export let menuItem = false; const { getAssets, clearSelect } = getAssetControlContext(); @@ -48,11 +50,15 @@ }; - (isShowConfirmation = true)} logo={DeleteOutline} /> +{#if menuItem} + (isShowConfirmation = true)} /> +{:else} + (isShowConfirmation = true)} /> +{/if} {#if isShowConfirmation} (isShowConfirmation = false)} diff --git a/web/src/routes/(user)/albums/[albumId]/+page.svelte b/web/src/routes/(user)/albums/[albumId]/+page.svelte index 8922ab073b..f53b89df03 100644 --- a/web/src/routes/(user)/albums/[albumId]/+page.svelte +++ b/web/src/routes/(user)/albums/[albumId]/+page.svelte @@ -7,6 +7,7 @@ import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte'; import AddToAlbum from '$lib/components/photos-page/actions/add-to-album.svelte'; import CreateSharedLink from '$lib/components/photos-page/actions/create-shared-link.svelte'; + import DeleteAssets from '$lib/components/photos-page/actions/delete-assets.svelte'; import DownloadAction from '$lib/components/photos-page/actions/download-action.svelte'; import FavoriteAction from '$lib/components/photos-page/actions/favorite-action.svelte'; import RemoveFromAlbum from '$lib/components/photos-page/actions/remove-from-album.svelte'; @@ -287,14 +288,17 @@ - {#if isOwned || isAllUserOwned} - handleRemoveAssets(assetIds)} /> - {/if} {#if isAllUserOwned} {/if} + {#if isOwned || isAllUserOwned} + handleRemoveAssets(assetIds)} /> + {/if} + {#if isAllUserOwned} + assetStore.removeAsset(assetId)} /> + {/if} {:else}