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}