From 70ab8bc657bfe306c4d825abffef1851797c8138 Mon Sep 17 00:00:00 2001 From: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Date: Wed, 12 Nov 2025 12:57:53 +0100 Subject: [PATCH] refactor: shared links modals (#23803) --- .../components/SharedLinkExpiration.svelte | 76 ++++++++++ .../lib/modals/SharedLinkCreateModal.svelte | 133 +++--------------- .../lib/modals/SharedLinkUpdateModal.svelte | 98 +++++++++++++ .../shared-links/[[id=id]]/+page.svelte | 4 +- 4 files changed, 192 insertions(+), 119 deletions(-) create mode 100644 web/src/lib/components/SharedLinkExpiration.svelte create mode 100644 web/src/lib/modals/SharedLinkUpdateModal.svelte diff --git a/web/src/lib/components/SharedLinkExpiration.svelte b/web/src/lib/components/SharedLinkExpiration.svelte new file mode 100644 index 0000000000..735d9f8712 --- /dev/null +++ b/web/src/lib/components/SharedLinkExpiration.svelte @@ -0,0 +1,76 @@ + + +
+ +
diff --git a/web/src/lib/modals/SharedLinkCreateModal.svelte b/web/src/lib/modals/SharedLinkCreateModal.svelte index 5ba0402752..f2fcacd17e 100644 --- a/web/src/lib/modals/SharedLinkCreateModal.svelte +++ b/web/src/lib/modals/SharedLinkCreateModal.svelte @@ -1,23 +1,20 @@ - + {#if shareType === SharedLinkType.Album} - {#if !editingLink} -
{$t('album_with_link_access')}
- {:else} -
- {$t('public_album')} | - {editingLink.album?.albumName} -
- {/if} +
{$t('album_with_link_access')}
{/if} {#if shareType === SharedLinkType.Individual} - {#if !editingLink} -
{$t('create_link_to_share_description')}
- {:else} -
- {$t('individual_share')} | - {editingLink.description || ''} -
- {/if} +
{$t('create_link_to_share_description')}
{/if}
@@ -166,15 +80,7 @@ -
- -
+ @@ -187,20 +93,13 @@ - - {#if editingLink} - - - - {/if}
- {#if editingLink} - - {:else} - - {/if} + + + +
diff --git a/web/src/lib/modals/SharedLinkUpdateModal.svelte b/web/src/lib/modals/SharedLinkUpdateModal.svelte new file mode 100644 index 0000000000..f3bdd42a89 --- /dev/null +++ b/web/src/lib/modals/SharedLinkUpdateModal.svelte @@ -0,0 +1,98 @@ + + + + + {#if shareType === SharedLinkType.Album} +
+ {$t('public_album')} | + {sharedLink.album?.albumName} +
+ {/if} + + {#if shareType === SharedLinkType.Individual} +
+ {$t('individual_share')} | + {sharedLink.description || ''} +
+ {/if} + +
+
+ + + + {#if slug} + /s/{encodeURIComponent(slug)} + {/if} +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
diff --git a/web/src/routes/(user)/shared-links/[[id=id]]/+page.svelte b/web/src/routes/(user)/shared-links/[[id=id]]/+page.svelte index e0239a2a43..d8b35204dc 100644 --- a/web/src/routes/(user)/shared-links/[[id=id]]/+page.svelte +++ b/web/src/routes/(user)/shared-links/[[id=id]]/+page.svelte @@ -6,7 +6,7 @@ import SharedLinkCard from '$lib/components/sharedlinks-page/shared-link-card.svelte'; import { AppRoute } from '$lib/constants'; import GroupTab from '$lib/elements/GroupTab.svelte'; - import SharedLinkCreateModal from '$lib/modals/SharedLinkCreateModal.svelte'; + import SharedLinkUpdateModal from '$lib/modals/SharedLinkUpdateModal.svelte'; import { getAllSharedLinks, SharedLinkType, type SharedLinkResponseDto } from '@immich/sdk'; import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; @@ -96,7 +96,7 @@ {/if} {#if sharedLink} - goto(AppRoute.SHARED_LINKS)} /> + goto(AppRoute.SHARED_LINKS)} /> {/if}