diff --git a/web/src/lib/modals/SharedLinkCreateModal.svelte b/web/src/lib/modals/SharedLinkCreateModal.svelte index 88f603c16b..345cbbb2e6 100644 --- a/web/src/lib/modals/SharedLinkCreateModal.svelte +++ b/web/src/lib/modals/SharedLinkCreateModal.svelte @@ -69,6 +69,23 @@ albumId = editingLink.album?.id; assetIds = editingLink.assets.map(({ id }) => id); + + const expiresAt = editingLink.expiresAt ? DateTime.fromISO(editingLink.expiresAt) : DateTime.fromMillis(0); + const createdAt = DateTime.fromISO(editingLink.createdAt); + + if (expiresAt) { + const remainingMs = expiresAt.toMillis() - createdAt.toMillis(); + + const bestOption = expiredDateOptions.reduce((best, option) => { + const diff = Math.abs(option.value - remainingMs); + const bestDiff = Math.abs(best.value - remainingMs); + return diff < bestDiff ? option : best; + }); + + expirationOption = bestOption.value; + } else { + expirationOption = 0; + } } const handleCreateSharedLink = async () => {