diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 463c7ccb46..20b73f329d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -684,8 +684,8 @@ importers: specifier: file:../open-api/typescript-sdk version: link:../open-api/typescript-sdk '@immich/ui': - specifier: ^0.40.2 - version: 0.40.2(@internationalized/date@3.8.2)(svelte@5.41.3) + specifier: ^0.42.2 + version: 0.42.2(@internationalized/date@3.8.2)(svelte@5.41.3) '@mapbox/mapbox-gl-rtl-text': specifier: 0.2.3 version: 0.2.3(mapbox-gl@1.13.3) @@ -2776,13 +2776,13 @@ packages: '@immich/justified-layout-wasm@0.4.3': resolution: {integrity: sha512-fpcQ7zPhP3Cp1bEXhONVYSUeIANa2uzaQFGKufUZQo5FO7aFT77szTVChhlCy4XaVy5R4ZvgSkA/1TJmeORz7Q==} - '@immich/svelte-markdown-preprocess@0.0.1': - resolution: {integrity: sha512-1vWoT4LO6fEyxrKwLKiNFECEkRVbuvpYPDvA7LavObTt2ijnonPYBDgfTwCPTofjxcocIGYUayv3CzgOzFiMOA==} + '@immich/svelte-markdown-preprocess@0.1.0': + resolution: {integrity: sha512-jgSOJEGLPKEXQCNRI4r4YUayeM2b0ZYLdzgKGl891jZBhOQIetlY7rU44kPpV1AA3/8wGDwNFKduIQZZ/qJYzg==} peerDependencies: svelte: ^5.0.0 - '@immich/ui@0.40.2': - resolution: {integrity: sha512-6NS4yVx0VoyH+AaM7TISDaoIzZe3RuDOi6xMkK2LrOPQbKwTuheD2iagxsRYzUtJ9IPrmCPrwRBc9Jq5BkvmBQ==} + '@immich/ui@0.42.2': + resolution: {integrity: sha512-4+Kwjqtf4tU6orW2l/1njHB2nRuw2PwEtLJyt2GYv8UBcp1Sxi0Qpwh5b0T0TIyZlDJatggY+yPl4cRQojI4oA==} peerDependencies: svelte: ^5.0.0 @@ -14343,13 +14343,13 @@ snapshots: '@immich/justified-layout-wasm@0.4.3': {} - '@immich/svelte-markdown-preprocess@0.0.1(svelte@5.41.3)': + '@immich/svelte-markdown-preprocess@0.1.0(svelte@5.41.3)': dependencies: svelte: 5.41.3 - '@immich/ui@0.40.2(@internationalized/date@3.8.2)(svelte@5.41.3)': + '@immich/ui@0.42.2(@internationalized/date@3.8.2)(svelte@5.41.3)': dependencies: - '@immich/svelte-markdown-preprocess': 0.0.1(svelte@5.41.3) + '@immich/svelte-markdown-preprocess': 0.1.0(svelte@5.41.3) '@mdi/js': 7.4.47 bits-ui: 2.9.8(@internationalized/date@3.8.2)(svelte@5.41.3) luxon: 3.7.2 diff --git a/web/package.json b/web/package.json index 24d489a7d8..1e4057f01a 100644 --- a/web/package.json +++ b/web/package.json @@ -28,7 +28,7 @@ "@formatjs/icu-messageformat-parser": "^2.9.8", "@immich/justified-layout-wasm": "^0.4.3", "@immich/sdk": "file:../open-api/typescript-sdk", - "@immich/ui": "^0.40.2", + "@immich/ui": "^0.42.2", "@mapbox/mapbox-gl-rtl-text": "0.2.3", "@mdi/js": "^7.4.47", "@photo-sphere-viewer/core": "^5.11.5", diff --git a/web/src/lib/components/ActionButton.svelte b/web/src/lib/components/ActionButton.svelte new file mode 100644 index 0000000000..1bbbf642e0 --- /dev/null +++ b/web/src/lib/components/ActionButton.svelte @@ -0,0 +1,19 @@ + + + onSelect?.({ event, item: action })} +/> diff --git a/web/src/lib/components/album-page/album-card-group.svelte b/web/src/lib/components/album-page/album-card-group.svelte index bfb642b82c..efedaee697 100644 --- a/web/src/lib/components/album-page/album-card-group.svelte +++ b/web/src/lib/components/album-page/album-card-group.svelte @@ -70,14 +70,7 @@ animate:flip={{ duration: 400 }} oncontextmenu={(event) => oncontextmenu(event, album)} > - showContextMenu(position, album) : undefined} - /> + {/each} diff --git a/web/src/lib/components/album-page/album-card.svelte b/web/src/lib/components/album-page/album-card.svelte index 081e247982..b7844907f2 100644 --- a/web/src/lib/components/album-page/album-card.svelte +++ b/web/src/lib/components/album-page/album-card.svelte @@ -1,11 +1,10 @@
- {#if onShowContextMenu} -
- -
- {/if} +
+ +
diff --git a/web/src/lib/components/album-page/album-shared-link.svelte b/web/src/lib/components/album-page/album-shared-link.svelte index e7d6503da3..339275942f 100644 --- a/web/src/lib/components/album-page/album-shared-link.svelte +++ b/web/src/lib/components/album-page/album-shared-link.svelte @@ -1,19 +1,20 @@ @@ -415,12 +294,16 @@ contextMenuTargetAlbum && handleEdit(contextMenuTargetAlbum)} + onClick={() => selectedAlbum && handleEdit(selectedAlbum)} /> openShareModal()} /> {/if} handleDownloadAlbum()} /> {#if showFullContextMenu} - setAlbumToDelete()} /> + selectedAlbum && handleDelete(selectedAlbum)} + /> {/if} diff --git a/web/src/lib/components/asset-viewer/actions/share-action.svelte b/web/src/lib/components/asset-viewer/actions/share-action.svelte index 24a67848a9..bfd3312f3b 100644 --- a/web/src/lib/components/asset-viewer/actions/share-action.svelte +++ b/web/src/lib/components/asset-viewer/actions/share-action.svelte @@ -1,7 +1,5 @@ diff --git a/web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte b/web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte deleted file mode 100644 index 235048d35d..0000000000 --- a/web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte +++ /dev/null @@ -1,32 +0,0 @@ - - -{#if menuItem} - -{:else} - -{/if} diff --git a/web/src/lib/components/sharedlinks-page/actions/shared-link-delete.svelte b/web/src/lib/components/sharedlinks-page/actions/shared-link-delete.svelte deleted file mode 100644 index f844d8483e..0000000000 --- a/web/src/lib/components/sharedlinks-page/actions/shared-link-delete.svelte +++ /dev/null @@ -1,26 +0,0 @@ - - -{#if menuItem} - -{:else} - -{/if} diff --git a/web/src/lib/components/sharedlinks-page/actions/shared-link-edit.svelte b/web/src/lib/components/sharedlinks-page/actions/shared-link-edit.svelte deleted file mode 100644 index 7482c1b6eb..0000000000 --- a/web/src/lib/components/sharedlinks-page/actions/shared-link-edit.svelte +++ /dev/null @@ -1,33 +0,0 @@ - - -{#if menuItem} - -{:else} - -{/if} diff --git a/web/src/lib/components/sharedlinks-page/shared-link-card.svelte b/web/src/lib/components/sharedlinks-page/shared-link-card.svelte index 33842e3f74..6a91880d20 100644 --- a/web/src/lib/components/sharedlinks-page/shared-link-card.svelte +++ b/web/src/lib/components/sharedlinks-page/shared-link-card.svelte @@ -1,26 +1,22 @@
- +
@@ -52,7 +50,7 @@ {#if isExpired}

{$t('expired')}

{:else if expiresAt} -

+ Delete

{$t('expires_date', { values: { date: getCountDownExpirationDate(expiresAt, now) } })}

{:else} @@ -62,34 +60,34 @@

- {#if link.type === SharedLinkType.Album} - {link.album?.albumName} - {:else if link.type === SharedLinkType.Individual} + {#if sharedLink.type === SharedLinkType.Album} + {sharedLink.album?.albumName} + {:else if sharedLink.type === SharedLinkType.Individual} {$t('individual_share')} {/if}

-

{link.description ?? ''}

+

{sharedLink.description ?? ''}

- {#if link.allowUpload} + {#if sharedLink.allowUpload} {$t('upload')} {/if} - {#if link.allowDownload} + {#if sharedLink.allowDownload} {$t('download')} {/if} - {#if link.showMetadata} + {#if sharedLink.showMetadata} {$t('exif')} {/if} - {#if link.password} + {#if sharedLink.password} {$t('password')} {/if} - {#if link.slug} + {#if sharedLink.slug} {$t('custom_url')} {/if}
@@ -97,23 +95,13 @@
- - - - - +
diff --git a/web/src/lib/components/timeline/actions/CreateSharedLinkAction.svelte b/web/src/lib/components/timeline/actions/CreateSharedLinkAction.svelte index 515fa64af1..202b87a15b 100644 --- a/web/src/lib/components/timeline/actions/CreateSharedLinkAction.svelte +++ b/web/src/lib/components/timeline/actions/CreateSharedLinkAction.svelte @@ -1,8 +1,6 @@ diff --git a/web/src/lib/managers/event-manager.svelte.ts b/web/src/lib/managers/event-manager.svelte.ts index f8e39411cf..e4ebbec538 100644 --- a/web/src/lib/managers/event-manager.svelte.ts +++ b/web/src/lib/managers/event-manager.svelte.ts @@ -1,5 +1,5 @@ import type { ThemeSetting } from '$lib/managers/theme-manager.svelte'; -import type { LoginResponseDto } from '@immich/sdk'; +import type { AlbumResponseDto, LoginResponseDto, SharedLinkResponseDto } from '@immich/sdk'; type Listener, K extends keyof EventMap> = (...params: EventMap[K]) => void; @@ -58,4 +58,7 @@ export const eventManager = new EventManager<{ 'auth.logout': []; 'language.change': [{ name: string; code: string; rtl?: boolean }]; 'theme.change': [ThemeSetting]; + 'sharedLink.delete': [SharedLinkResponseDto]; + 'album.update': [AlbumResponseDto]; + 'album.delete': [AlbumResponseDto]; }>(); diff --git a/web/src/lib/modals/AlbumEditModal.svelte b/web/src/lib/modals/AlbumEditModal.svelte index 84a44c8395..f97fe15616 100644 --- a/web/src/lib/modals/AlbumEditModal.svelte +++ b/web/src/lib/modals/AlbumEditModal.svelte @@ -1,14 +1,14 @@ diff --git a/web/src/lib/modals/AlbumShareModal.svelte b/web/src/lib/modals/AlbumShareModal.svelte index 9a60c0f710..d0748c6867 100644 --- a/web/src/lib/modals/AlbumShareModal.svelte +++ b/web/src/lib/modals/AlbumShareModal.svelte @@ -1,27 +1,25 @@ @@ -154,11 +160,7 @@ fullWidth shape="round" disabled={Object.keys(selectedUsers).length === 0} - onclick={() => - onClose({ - action: 'sharedUsers', - data: Object.values(selectedUsers).map(({ user, ...rest }) => ({ userId: user.id, ...rest })), - })}>{$t('add')}{$t('add')}
{/if} @@ -174,17 +176,13 @@ {#each sharedLinks as sharedLink (sharedLink.id)} - handleViewQrCode(sharedLink)} /> + {/each} {/if} - {$t('create_link')} diff --git a/web/src/lib/modals/SharedLinkCreateModal.svelte b/web/src/lib/modals/SharedLinkCreateModal.svelte index b8444705fa..cb846b66a9 100644 --- a/web/src/lib/modals/SharedLinkCreateModal.svelte +++ b/web/src/lib/modals/SharedLinkCreateModal.svelte @@ -1,8 +1,9 @@