mirror of
https://github.com/immich-app/immich.git
synced 2025-11-17 12:03:20 -05:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { AppRoute } from '$lib/constants';
|
|
import { serverConfig } from '$lib/stores/server-config.store';
|
|
import { getFormatter } from '$lib/utils/i18n';
|
|
import { init } from '$lib/utils/server';
|
|
|
|
import { redirect } from '@sveltejs/kit';
|
|
import { get } from 'svelte/store';
|
|
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);
|
|
const authenticated = await loadUser();
|
|
if (authenticated) {
|
|
redirect(302, AppRoute.PHOTOS);
|
|
}
|
|
|
|
const { isInitialized } = get(serverConfig);
|
|
if (isInitialized) {
|
|
// Redirect to login page if there exists an admin account (i.e. server is initialized)
|
|
redirect(302, AppRoute.AUTH_LOGIN);
|
|
}
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
} catch (redirectError: any) {
|
|
if (redirectError?.status === 302) {
|
|
throw redirectError;
|
|
}
|
|
}
|
|
|
|
const $t = await getFormatter();
|
|
|
|
return {
|
|
meta: {
|
|
title: $t('welcome') + ' 🎉',
|
|
description: $t('immich_web_interface'),
|
|
},
|
|
};
|
|
}) satisfies PageLoad;
|