feat(web)!: SPA (#5069)

* feat(web): SPA

* chore: remove unnecessary prune

* feat(web): merge with immich-server

* Correct method name

* fix: bugs, docs, workflows, etc.

* chore: keep dockerignore for dev

* chore: remove license

* fix: expose 2283

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Jason Rasmussen
2023-11-17 23:13:36 -05:00
committed by GitHub
parent 5118d261ab
commit adae5dd758
115 changed files with 730 additions and 1446 deletions

View File

@@ -1,18 +0,0 @@
import { AppRoute } from '$lib/constants';
import { redirect } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
export const load = (async ({ locals: { user } }) => {
if (!user) {
throw redirect(302, AppRoute.AUTH_LOGIN);
} else if (!user.shouldChangePassword) {
throw redirect(302, AppRoute.PHOTOS);
}
return {
user,
meta: {
title: 'Change Password',
},
};
}) satisfies PageServerLoad;

View File

@@ -0,0 +1,18 @@
import { AppRoute } from '$lib/constants';
import { authenticate } from '$lib/utils/auth';
import { redirect } from '@sveltejs/kit';
import type { PageLoad } from './$types';
export const load = (async () => {
const user = await authenticate();
if (!user.shouldChangePassword) {
throw redirect(302, AppRoute.PHOTOS);
}
return {
user,
meta: {
title: 'Change Password',
},
};
}) satisfies PageLoad;

View File

@@ -1,8 +1,9 @@
import { AppRoute } from '$lib/constants';
import { api } from '@api';
import { redirect } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import type { PageLoad } from './$types';
export const load = (async ({ locals: { api } }) => {
export const load = (async () => {
const { data } = await api.serverInfoApi.getServerConfig();
if (!data.isInitialized) {
// Admin not registered
@@ -14,4 +15,4 @@ export const load = (async ({ locals: { api } }) => {
title: 'Login',
},
};
}) satisfies PageServerLoad;
}) satisfies PageLoad;

View File

@@ -1,12 +0,0 @@
import { api } from '@api';
import type { RequestHandler } from '@sveltejs/kit';
import { json } from '@sveltejs/kit';
export const POST = (async ({ cookies }) => {
api.removeAccessToken();
cookies.delete('immich_auth_type', { path: '/' });
cookies.delete('immich_access_token', { path: '/' });
return json({ ok: true });
}) satisfies RequestHandler;

View File

@@ -1,8 +1,9 @@
import { AppRoute } from '$lib/constants';
import { api } from '@api';
import { redirect } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import type { PageLoad } from './$types';
export const load = (async ({ locals: { api } }) => {
export const load = (async () => {
const { data } = await api.serverInfoApi.getServerConfig();
if (data.isInitialized) {
// Admin has been registered, redirect to login
@@ -14,4 +15,4 @@ export const load = (async ({ locals: { api } }) => {
title: 'Admin Registration',
},
};
}) satisfies PageServerLoad;
}) satisfies PageLoad;