mirror of
https://github.com/immich-app/immich.git
synced 2025-12-27 13:14:26 -08:00
* refactor(web): use new open api client * refactor: remove activity api * refactor: trash, oauth, and partner apis * refactor: job api * refactor: face, library, system config * refactor: user api * refactor: album api
35 lines
1.2 KiB
Svelte
35 lines
1.2 KiB
Svelte
<script lang="ts">
|
|
import { afterNavigate, goto } from '$app/navigation';
|
|
import LoginForm from '$lib/components/forms/login-form.svelte';
|
|
import FullscreenContainer from '$lib/components/shared-components/fullscreen-container.svelte';
|
|
import { AppRoute } from '$lib/constants';
|
|
import { featureFlags, serverConfig } from '$lib/stores/server-config.store';
|
|
import { resetSavedUser } from '$lib/stores/user.store';
|
|
import { logout } from '@immich/sdk';
|
|
import type { PageData } from './$types';
|
|
|
|
export let data: PageData;
|
|
|
|
afterNavigate(async ({ from }) => {
|
|
if (from?.url?.pathname === AppRoute.AUTH_CHANGE_PASSWORD) {
|
|
resetSavedUser();
|
|
await logout();
|
|
}
|
|
});
|
|
</script>
|
|
|
|
{#if $featureFlags.loaded}
|
|
<FullscreenContainer title={data.meta.title} showMessage={!!$serverConfig.loginPageMessage}>
|
|
<p slot="message">
|
|
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
{@html $serverConfig.loginPageMessage}
|
|
</p>
|
|
|
|
<LoginForm
|
|
on:success={() => goto(AppRoute.PHOTOS, { invalidateAll: true })}
|
|
on:firstLogin={() => goto(AppRoute.AUTH_CHANGE_PASSWORD)}
|
|
on:onboarding={() => goto(AppRoute.AUTH_ONBOARDING)}
|
|
/>
|
|
</FullscreenContainer>
|
|
{/if}
|