Files
immich/web/src/routes/+layout.ts
2025-11-26 22:18:50 +01:00

34 lines
938 B
TypeScript

import { goto } from '$app/navigation';
import { serverConfigManager } from '$lib/managers/server-config-manager.svelte';
import { maintenanceCreateUrl, maintenanceReturnUrl, maintenanceShouldRedirect } from '$lib/utils/maintenance';
import { init } from '$lib/utils/server';
import { commandPaletteManager } from '@immich/ui';
import type { LayoutLoad } from './$types';
export const ssr = false;
export const csr = true;
export const load = (async ({ fetch, url }) => {
let error;
try {
await init(fetch);
if (maintenanceShouldRedirect(serverConfigManager.value.maintenanceMode, url)) {
await goto(
serverConfigManager.value.maintenanceMode ? maintenanceCreateUrl(url) : maintenanceReturnUrl(url.searchParams),
);
}
} catch (initError) {
error = initError;
}
commandPaletteManager.enable();
return {
error,
meta: {
title: 'Immich',
},
};
}) satisfies LayoutLoad;