diff --git a/web/src/lib/components/album-page/album-card.svelte b/web/src/lib/components/album-page/album-card.svelte
index 4a6fd52e5a..befd721bcd 100644
--- a/web/src/lib/components/album-page/album-card.svelte
+++ b/web/src/lib/components/album-page/album-card.svelte
@@ -1,7 +1,9 @@
dispatch('click', album)}
>
-
+
+
+
+
+
{#await loadImageData(album.albumThumbnailAssetId)}
{/await}
@@ -59,6 +81,3 @@
-
-
diff --git a/web/src/lib/components/album-page/album-viewer.svelte b/web/src/lib/components/album-page/album-viewer.svelte
index 5ee8f20c51..5589aa3e84 100644
--- a/web/src/lib/components/album-page/album-viewer.svelte
+++ b/web/src/lib/components/album-page/album-viewer.svelte
@@ -222,6 +222,21 @@
console.log('Error [sharedUserDeletedHandler] ', e);
}
};
+
+ const removeAlbum = async () => {
+ if (
+ window.confirm(
+ `Are you sure you want to delete album ${album.albumName}? If the album is shared, other users will not be able to access it.`
+ )
+ ) {
+ try {
+ await api.albumApi.deleteAlbum(album.id);
+ goto(backUrl);
+ } catch (e) {
+ console.log('Error [userDeleteMenu] ', e);
+ }
+ }
+ };
@@ -265,6 +280,7 @@
on:click={() => (isShowShareUserSelection = true)}
logo={ShareVariantOutline}
/>
+
{/if}
{/if}
diff --git a/web/src/lib/components/shared-components/circle-icon-button.svelte b/web/src/lib/components/shared-components/circle-icon-button.svelte
index 059a0fd06e..a92f9acdd7 100644
--- a/web/src/lib/components/shared-components/circle-icon-button.svelte
+++ b/web/src/lib/components/shared-components/circle-icon-button.svelte
@@ -25,7 +25,7 @@
{title}
bind:this={iconButton}
class={`immich-circle-icon-button rounded-full p-3 flex place-items-center place-content-center transition-all`}
- on:click={() => dispatch('click')}
+ on:click={(mouseEvent) => dispatch('click', { mouseEvent })}
>
diff --git a/web/src/lib/components/shared-components/context-menu/context-menu.svelte b/web/src/lib/components/shared-components/context-menu/context-menu.svelte
index f5e394d9fd..03fcd91fb3 100644
--- a/web/src/lib/components/shared-components/context-menu/context-menu.svelte
+++ b/web/src/lib/components/shared-components/context-menu/context-menu.svelte
@@ -4,10 +4,20 @@
import { quintOut } from 'svelte/easing';
import { slide } from 'svelte/transition';
+ /**
+ * x coordiante of the context menu.
+ * @type {number}
+ */
export let x: number = 0;
+
+ /**
+ * x coordiante of the context menu.
+ * @type {number}
+ */
export let y: number = 0;
const dispatch = createEventDispatcher();
+
let menuEl: HTMLElement;
$: (() => {
@@ -24,7 +34,7 @@
dispatch('clickoutside')}
diff --git a/web/src/lib/components/shared-components/context-menu/menu-option.svelte b/web/src/lib/components/shared-components/context-menu/menu-option.svelte
index fedc5a5486..0c95234623 100644
--- a/web/src/lib/components/shared-components/context-menu/menu-option.svelte
+++ b/web/src/lib/components/shared-components/context-menu/menu-option.svelte
@@ -16,7 +16,7 @@