mirror of
https://github.com/immich-app/immich.git
synced 2026-02-14 04:47:57 +03:00
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import { serverConfigManager } from '$lib/managers/server-config-manager.svelte';
|
|
import { Route } from '$lib/route';
|
|
import { getFormatter } from '$lib/utils/i18n';
|
|
import { init } from '$lib/utils/server';
|
|
import { redirect } from '@sveltejs/kit';
|
|
import { loadUser } from '../lib/utils/auth';
|
|
import type { PageLoad } from './$types';
|
|
|
|
export const ssr = false;
|
|
export const csr = true;
|
|
|
|
export const load = (async ({ fetch }) => {
|
|
try {
|
|
await init(fetch);
|
|
|
|
if (serverConfigManager.value.maintenanceMode) {
|
|
redirect(307, Route.maintenanceMode());
|
|
}
|
|
|
|
const authenticated = await loadUser();
|
|
if (authenticated) {
|
|
redirect(307, Route.photos());
|
|
}
|
|
|
|
if (serverConfigManager.value.isInitialized) {
|
|
// Redirect to login page if there exists an admin account (i.e. server is initialized)
|
|
redirect(307, Route.login());
|
|
}
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
} catch (redirectError: any) {
|
|
if (redirectError?.status === 307) {
|
|
throw redirectError;
|
|
}
|
|
}
|
|
|
|
const $t = await getFormatter();
|
|
|
|
return {
|
|
meta: {
|
|
title: $t('welcome') + ' 🎉',
|
|
description: $t('immich_web_interface'),
|
|
},
|
|
};
|
|
}) satisfies PageLoad;
|