refactor: add maintenanceStore to hold writables

This commit is contained in:
izzy
2025-11-20 15:41:20 +00:00
parent f778a4260b
commit f69c49a60f
3 changed files with 10 additions and 6 deletions

View File

@@ -1,4 +1,6 @@
import { type MaintenanceAuthDto } from '@immich/sdk'; import { type MaintenanceAuthDto } from '@immich/sdk';
import { writable } from 'svelte/store'; import { writable } from 'svelte/store';
export const maintenanceAuth = writable<MaintenanceAuthDto>(); export const maintenanceStore = {
auth: writable<MaintenanceAuthDto>(),
};

View File

@@ -1,5 +1,5 @@
import { AppRoute } from '$lib/constants'; import { AppRoute } from '$lib/constants';
import { maintenanceAuth as maintenanceAuth$ } from '$lib/stores/maintenance.store'; import { maintenanceStore } from '$lib/stores/maintenance.store';
import { maintenanceLogin } from '@immich/sdk'; import { maintenanceLogin } from '@immich/sdk';
export function maintenanceCreateUrl(url: URL) { export function maintenanceCreateUrl(url: URL) {
@@ -26,7 +26,7 @@ export const loadMaintenanceAuth = async () => {
}, },
}); });
maintenanceAuth$.set(auth); maintenanceStore.auth.set(auth);
} catch { } catch {
// silently fail // silently fail
} }

View File

@@ -1,12 +1,14 @@
<script lang="ts"> <script lang="ts">
import AuthPageLayout from '$lib/components/layouts/AuthPageLayout.svelte'; import AuthPageLayout from '$lib/components/layouts/AuthPageLayout.svelte';
import FormatMessage from '$lib/elements/FormatMessage.svelte'; import FormatMessage from '$lib/elements/FormatMessage.svelte';
import { maintenanceAuth } from '$lib/stores/maintenance.store'; import { maintenanceStore } from '$lib/stores/maintenance.store';
import { handleError } from '$lib/utils/handle-error'; import { handleError } from '$lib/utils/handle-error';
import { MaintenanceAction, setMaintenanceMode } from '@immich/sdk'; import { MaintenanceAction, setMaintenanceMode } from '@immich/sdk';
import { Button, Heading, Link } from '@immich/ui'; import { Button, Heading, Link } from '@immich/ui';
import { t } from 'svelte-i18n'; import { t } from 'svelte-i18n';
const { auth } = maintenanceStore;
// strip token from URL after load // strip token from URL after load
const url = new URL(location.href); const url = new URL(location.href);
if (url.searchParams.get('token')) { if (url.searchParams.get('token')) {
@@ -41,11 +43,11 @@
{/snippet} {/snippet}
</FormatMessage> </FormatMessage>
</p> </p>
{#if $maintenanceAuth} {#if $auth}
<p> <p>
{$t('maintenance_logged_in_as', { {$t('maintenance_logged_in_as', {
values: { values: {
user: $maintenanceAuth.username, user: $auth.username,
}, },
})} })}
</p> </p>