diff --git a/web/src/lib/components/shared-components/navigation-bar/AccountInfoPanel.svelte b/web/src/lib/components/shared-components/navigation-bar/AccountInfoPanel.svelte index 6242309622..8f80e1be62 100644 --- a/web/src/lib/components/shared-components/navigation-bar/AccountInfoPanel.svelte +++ b/web/src/lib/components/shared-components/navigation-bar/AccountInfoPanel.svelte @@ -2,14 +2,12 @@ import { page } from '$app/state'; import { focusTrap } from '$lib/actions/focus-trap'; import { authManager } from '$lib/managers/auth-manager.svelte'; + import { serverManager } from '$lib/managers/server-manager.svelte'; import AvatarEditModal from '$lib/modals/AvatarEditModal.svelte'; import HelpAndFeedbackModal from '$lib/modals/HelpAndFeedbackModal.svelte'; import { Route } from '$lib/route'; - import { userInteraction } from '$lib/stores/user.svelte'; - import { getAboutInfo, type ServerAboutResponseDto } from '@immich/sdk'; import { Button, Icon, IconButton, modalManager } from '@immich/ui'; import { mdiCog, mdiLogout, mdiPencil, mdiWrench } from '@mdi/js'; - import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; import { fade } from 'svelte/transition'; import UserAvatar from '../UserAvatar.svelte'; @@ -20,11 +18,7 @@ let { onClose }: Props = $props(); - let info: ServerAboutResponseDto | undefined = $state(); - - onMount(async () => { - info = userInteraction.aboutInfo ?? (await getAboutInfo()); - }); + const info = $derived(serverManager.about);
import { ImmichProduct } from '$lib/constants'; - import { getLicenseLink as getProductLink } from '$lib/utils/license-utils'; + import { licenseManager } from '$lib/managers/license-manager.svelte'; import { Button, Icon } from '@immich/ui'; import { mdiAccount, mdiCheckCircleOutline } from '@mdi/js'; import { t } from 'svelte-i18n'; @@ -38,6 +38,8 @@
- + diff --git a/web/src/lib/components/shared-components/purchasing/PurchaseContent.svelte b/web/src/lib/components/shared-components/purchasing/PurchaseContent.svelte index d4ae68e2b6..cbcddc9350 100644 --- a/web/src/lib/components/shared-components/purchasing/PurchaseContent.svelte +++ b/web/src/lib/components/shared-components/purchasing/PurchaseContent.svelte @@ -1,19 +1,17 @@
- {#if authManager.isPurchased && authManager.preferences.purchase.showSupportBadge} + {#if licenseManager.license && authManager.preferences.purchase.showSupportBadge} - {:else if !authManager.isPurchased && showBuyButton && getAccountAge() > 14} + {:else if !licenseManager.license && showBuyButton && getAccountAge() > 14} + {#if license.licenseKey} + {@const licenseKey = license.licenseKey} + + {/if}
{/if} {:else} - + {/if} diff --git a/web/src/routes/admin/library-management/(list)/+layout.ts b/web/src/routes/admin/library-management/(list)/+layout.ts index 5c8442180b..4721cf550d 100644 --- a/web/src/routes/admin/library-management/(list)/+layout.ts +++ b/web/src/routes/admin/library-management/(list)/+layout.ts @@ -1,12 +1,11 @@ import { getAllLibraries, getLibraryStatistics, getUserAdmin, searchUsersAdmin } from '@immich/sdk'; -import { authenticate, requestServerInfo } from '$lib/utils/auth'; +import { authenticate } from '$lib/utils/auth'; import { getFormatter } from '$lib/utils/i18n'; import type { LayoutLoad } from './$types'; export const load = (async ({ url, depends }) => { depends('app:libraries'); await authenticate(url, { admin: true }); - await requestServerInfo(); const allUsers = await searchUsersAdmin({ withDeleted: false }); const $t = await getFormatter(); diff --git a/web/src/routes/admin/queues/[name]/+page.ts b/web/src/routes/admin/queues/[name]/+page.ts index b04667efbd..446485e4f3 100644 --- a/web/src/routes/admin/queues/[name]/+page.ts +++ b/web/src/routes/admin/queues/[name]/+page.ts @@ -1,13 +1,12 @@ import { getQueue, getQueueJobs, QueueJobStatus } from '@immich/sdk'; import { redirect } from '@sveltejs/kit'; import { fromQueueSlug, Route } from '$lib/route'; -import { authenticate, requestServerInfo } from '$lib/utils/auth'; +import { authenticate } from '$lib/utils/auth'; import { getFormatter } from '$lib/utils/i18n'; import type { PageLoad } from './$types'; export const load = (async ({ params, url }) => { await authenticate(url, { admin: true }); - await requestServerInfo(); const name = fromQueueSlug(params.name); if (!name) { diff --git a/web/src/routes/admin/users/(list)/+layout.ts b/web/src/routes/admin/users/(list)/+layout.ts index d7c66a7222..a8941ad8ac 100644 --- a/web/src/routes/admin/users/(list)/+layout.ts +++ b/web/src/routes/admin/users/(list)/+layout.ts @@ -1,11 +1,10 @@ import { searchUsersAdmin } from '@immich/sdk'; -import { authenticate, requestServerInfo } from '$lib/utils/auth'; +import { authenticate } from '$lib/utils/auth'; import { getFormatter } from '$lib/utils/i18n'; import type { LayoutLoad } from './$types'; export const load = (async ({ url }) => { await authenticate(url, { admin: true }); - await requestServerInfo(); const users = await searchUsersAdmin({ withDeleted: true }); const $t = await getFormatter(); diff --git a/web/src/routes/admin/users/(list)/new/+page.svelte b/web/src/routes/admin/users/(list)/new/+page.svelte index 7eaa1080b4..f50b8f1014 100644 --- a/web/src/routes/admin/users/(list)/new/+page.svelte +++ b/web/src/routes/admin/users/(list)/new/+page.svelte @@ -1,13 +1,15 @@