diff --git a/web/src/lib/components/album-page/album-card.svelte b/web/src/lib/components/album-page/album-card.svelte
index fc7bc34902..0fc24ce34e 100644
--- a/web/src/lib/components/album-page/album-card.svelte
+++ b/web/src/lib/components/album-page/album-card.svelte
@@ -15,9 +15,9 @@
import { AlbumResponseDto, api, ThumbnailFormat, UserResponseDto } from '@api';
import { createEventDispatcher, onMount } from 'svelte';
import DotsVertical from 'svelte-material-icons/DotsVertical.svelte';
- import CircleIconButton from '../elements/buttons/circle-icon-button.svelte';
import noThumbnailUrl from '$lib/assets/no-thumbnail.png';
import { locale } from '$lib/stores/preferences.store';
+ import IconButton from '../elements/buttons/icon-button.svelte';
export let album: AlbumResponseDto;
export let isSharingView = false;
@@ -82,7 +82,9 @@
on:click|stopPropagation|preventDefault={showAlbumContextMenu}
data-testid="context-button-parent"
>
-
+
+
+
{/if}
@@ -115,7 +117,10 @@
{album.assetCount.toLocaleString($locale)}
{album.assetCount == 1 ? `item` : `items`}
- ·
+
+ {#if isSharingView || album.shared}
+ ·
+ {/if}
{#if isSharingView}
{#await getAlbumOwnerInfo() then albumOwner}
diff --git a/web/src/lib/components/album-page/album-viewer.svelte b/web/src/lib/components/album-page/album-viewer.svelte
index 115f48d981..d0a14c5552 100644
--- a/web/src/lib/components/album-page/album-viewer.svelte
+++ b/web/src/lib/components/album-page/album-viewer.svelte
@@ -4,7 +4,6 @@
import { albumAssetSelectionStore } from '$lib/stores/album-asset-selection.store';
import { downloadAssets } from '$lib/stores/download';
import { locale } from '$lib/stores/preferences.store';
- import { clickOutside } from '$lib/utils/click-outside';
import { openFileUploadDialog } from '$lib/utils/file-uploader';
import {
AlbumResponseDto,
@@ -376,16 +375,14 @@
- {#if album.assetCount > 0}
+ {#if !isCreatingSharedAlbum}
{#if !sharedLink}
(isShowAssetSelection = true)}
logo={FileImagePlusOutline}
/>
- {/if}
-
- {#if sharedLink?.allowUpload}
+ {:else if sharedLink?.allowUpload}
openFileUploadDialog(album.id, sharedLink?.key)}
@@ -393,7 +390,6 @@
/>
{/if}
-
{#if isOwned}
{/if}
+ {/if}
+ {#if album.assetCount > 0 && !isCreatingSharedAlbum}
{#if !isPublicShared || (isPublicShared && sharedLink?.allowDownload)}
(isShowAlbumOptions = false)}>
- {#if isShowAlbumOptions}
-
- {
- isShowThumbnailSelection = true;
- isShowAlbumOptions = false;
- }}
- text="Set album cover"
- />
-
- {/if}
-
-
+
+ {#if isShowAlbumOptions}
+ (isShowAlbumOptions = false)}
+ >
+ {
+ isShowThumbnailSelection = true;
+ isShowAlbumOptions = false;
+ }}
+ text="Set album cover"
+ />
+
+ {/if}
+
{/if}
+ {/if}
- {#if isPublicShared}
-
- {/if}
+ {#if isPublicShared}
+
{/if}
{#if isCreatingSharedAlbum && album.sharedUsers.length == 0}
diff --git a/web/src/lib/components/elements/buttons/button.svelte b/web/src/lib/components/elements/buttons/button.svelte
index be0f96eef6..b0c04e8738 100644
--- a/web/src/lib/components/elements/buttons/button.svelte
+++ b/web/src/lib/components/elements/buttons/button.svelte
@@ -9,7 +9,8 @@
| 'green'
| 'gray'
| 'transparent-gray'
- | 'dark-gray';
+ | 'dark-gray'
+ | 'overlay-primary';
export type Size = 'icon' | 'link' | 'sm' | 'base' | 'lg';
export type Rounded = 'lg' | '3xl' | 'full' | false;
export type Shadow = 'md' | false;
@@ -38,9 +39,10 @@
green: 'bg-lime-600 text-white enabled:hover:bg-lime-500',
gray: 'bg-gray-500 dark:bg-gray-200 enabled:hover:bg-gray-500/75 enabled:dark:hover:bg-gray-200/80 text-white dark:text-immich-dark-gray',
'transparent-gray':
- 'dark:text-immich-dark-fg enabled:hover:bg-immich-primary/5 enabled:hover:text-gray-700 enabled:hover:dark:text-immich-dark-fg enabled:dark:hover:bg-immich-dark-primary/25 ',
+ 'dark:text-immich-dark-fg enabled:hover:bg-immich-primary/5 enabled:hover:text-gray-700 enabled:hover:dark:text-immich-dark-fg enabled:dark:hover:bg-immich-dark-primary/25',
'dark-gray':
- 'dark:border-immich-dark-gray dark:bg-gray-500 enabled:dark:hover:bg-immich-dark-primary/50 enabled:hover:bg-immich-primary/10 dark:text-white'
+ 'dark:border-immich-dark-gray dark:bg-gray-500 enabled:dark:hover:bg-immich-dark-primary/50 enabled:hover:bg-immich-primary/10 dark:text-white',
+ 'overlay-primary': 'text-gray-500 enabled:hover:bg-gray-100'
};
const sizeClasses: Record = {
diff --git a/web/src/lib/components/elements/buttons/icon-button.svelte b/web/src/lib/components/elements/buttons/icon-button.svelte
index e970cf5011..ab46a55807 100644
--- a/web/src/lib/components/elements/buttons/icon-button.svelte
+++ b/web/src/lib/components/elements/buttons/icon-button.svelte
@@ -1,5 +1,5 @@