diff --git a/web/src/lib/components/album-page/albums-list.svelte b/web/src/lib/components/album-page/albums-list.svelte index befe2019a16..da036dd0392 100644 --- a/web/src/lib/components/album-page/albums-list.svelte +++ b/web/src/lib/components/album-page/albums-list.svelte @@ -23,7 +23,6 @@ locale, type AlbumViewSettings, } from '$lib/stores/preferences.store'; - import { serverConfig } from '$lib/stores/server-config.store'; import { user } from '$lib/stores/user.store'; import { userInteraction } from '$lib/stores/user.svelte'; import { makeSharedLinkUrl } from '$lib/utils'; @@ -367,9 +366,8 @@ const sharedLink = await modalManager.show(SharedLinkCreateModal, { albumId: albumToShare.id }); if (sharedLink) { - const url = makeSharedLinkUrl($serverConfig.externalDomain, sharedLink.key); handleSharedLinkCreated(albumToShare); - await modalManager.show(QrCodeModal, { title: $t('view_link'), value: url }); + await modalManager.show(QrCodeModal, { title: $t('view_link'), value: makeSharedLinkUrl(sharedLink.key) }); } return; } 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 f32d3e75158..7e2ffa1b943 100644 --- a/web/src/lib/components/asset-viewer/actions/share-action.svelte +++ b/web/src/lib/components/asset-viewer/actions/share-action.svelte @@ -3,7 +3,6 @@ import { modalManager } from '$lib/managers/modal-manager.svelte'; import QrCodeModal from '$lib/modals/QrCodeModal.svelte'; import SharedLinkCreateModal from '$lib/modals/SharedLinkCreateModal.svelte'; - import { serverConfig } from '$lib/stores/server-config.store'; import { makeSharedLinkUrl } from '$lib/utils'; import type { AssetResponseDto } from '@immich/sdk'; import { mdiShareVariantOutline } from '@mdi/js'; @@ -19,8 +18,7 @@ const sharedLink = await modalManager.show(SharedLinkCreateModal, { assetIds: [asset.id] }); if (sharedLink) { - const url = makeSharedLinkUrl($serverConfig.externalDomain, sharedLink.key); - await modalManager.show(QrCodeModal, { title: $t('view_link'), value: url }); + await modalManager.show(QrCodeModal, { title: $t('view_link'), value: makeSharedLinkUrl(sharedLink.key) }); } }; diff --git a/web/src/lib/components/photos-page/actions/create-shared-link.svelte b/web/src/lib/components/photos-page/actions/create-shared-link.svelte index 05baf822c10..65a389cd0a0 100644 --- a/web/src/lib/components/photos-page/actions/create-shared-link.svelte +++ b/web/src/lib/components/photos-page/actions/create-shared-link.svelte @@ -4,7 +4,6 @@ import { modalManager } from '$lib/managers/modal-manager.svelte'; import QrCodeModal from '$lib/modals/QrCodeModal.svelte'; import SharedLinkCreateModal from '$lib/modals/SharedLinkCreateModal.svelte'; - import { serverConfig } from '$lib/stores/server-config.store'; import { makeSharedLinkUrl } from '$lib/utils'; import { mdiShareVariantOutline } from '@mdi/js'; import { t } from 'svelte-i18n'; @@ -17,8 +16,7 @@ }); if (sharedLink) { - const url = makeSharedLinkUrl($serverConfig.externalDomain, sharedLink.key); - await modalManager.show(QrCodeModal, { title: $t('view_link'), value: url }); + await modalManager.show(QrCodeModal, { title: $t('view_link'), value: makeSharedLinkUrl(sharedLink.key) }); } }; 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 index 9ec9fc76cea..7edf305a567 100644 --- a/web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte +++ b/web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte @@ -1,7 +1,6 @@ diff --git a/web/src/lib/modals/AlbumShareModal.svelte b/web/src/lib/modals/AlbumShareModal.svelte index 56e9a923059..17279a8e6ac 100644 --- a/web/src/lib/modals/AlbumShareModal.svelte +++ b/web/src/lib/modals/AlbumShareModal.svelte @@ -5,7 +5,6 @@ import FullScreenModal from '$lib/components/shared-components/full-screen-modal.svelte'; import { AppRoute } from '$lib/constants'; import QrCodeModal from '$lib/modals/QrCodeModal.svelte'; - import { serverConfig } from '$lib/stores/server-config.store'; import { makeSharedLinkUrl } from '$lib/utils'; import { AlbumUserRole, @@ -34,7 +33,7 @@ let sharedLinkUrl = $state(''); const handleViewQrCode = (sharedLink: SharedLinkResponseDto) => { - sharedLinkUrl = makeSharedLinkUrl($serverConfig.externalDomain, sharedLink.key); + sharedLinkUrl = makeSharedLinkUrl(sharedLink.key); }; const roleOptions: Array<{ title: string; value: AlbumUserRole | 'none'; icon?: string }> = [ diff --git a/web/src/lib/utils.ts b/web/src/lib/utils.ts index b7466b58123..645c485cc5a 100644 --- a/web/src/lib/utils.ts +++ b/web/src/lib/utils.ts @@ -2,6 +2,7 @@ import { NotificationType, notificationController } from '$lib/components/shared import { defaultLang, langs, locales } from '$lib/constants'; import { authManager } from '$lib/managers/auth-manager.svelte'; import { lang } from '$lib/stores/preferences.store'; +import { serverConfig } from '$lib/stores/server-config.store'; import { handleError } from '$lib/utils/handle-error'; import { AssetJobName, @@ -256,8 +257,8 @@ export const copyToClipboard = async (secret: string) => { } }; -export const makeSharedLinkUrl = (externalDomain: string, key: string) => { - return new URL(`share/${key}`, externalDomain || globalThis.location.origin).href; +export const makeSharedLinkUrl = (key: string) => { + return new URL(`share/${key}`, get(serverConfig).externalDomain || globalThis.location.origin).href; }; export const oauth = { diff --git a/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte b/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte index 2331ae01b1f..88840b382dd 100644 --- a/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte +++ b/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte @@ -42,7 +42,6 @@ import { AssetInteraction } from '$lib/stores/asset-interaction.svelte'; import { assetViewingStore } from '$lib/stores/asset-viewing.store'; import { AssetStore } from '$lib/stores/assets-store.svelte'; - import { serverConfig } from '$lib/stores/server-config.store'; import { SlideshowNavigation, SlideshowState, slideshowStore } from '$lib/stores/slideshow.store'; import { preferences, user } from '$lib/stores/user.store'; import { handlePromiseError, makeSharedLinkUrl } from '$lib/utils'; @@ -439,8 +438,7 @@ const sharedLink = await modalManager.show(SharedLinkCreateModal, { albumId: album.id }); if (sharedLink) { - const url = makeSharedLinkUrl($serverConfig.externalDomain, sharedLink.key); - await modalManager.show(QrCodeModal, { title: $t('view_link'), value: url }); + await modalManager.show(QrCodeModal, { title: $t('view_link'), value: makeSharedLinkUrl(sharedLink.key) }); } };