forked from mirrors/pronouns.cc
fix: redirect settings pages to login if the user is not logged in
This commit is contained in:
parent
ff75075b81
commit
86f272a365
1 changed files with 27 additions and 19 deletions
|
@ -6,31 +6,39 @@ import {
|
|||
type MeUser,
|
||||
} from "$lib/api/entities";
|
||||
import { apiFetchClient } from "$lib/api/fetch";
|
||||
import { redirect } from "@sveltejs/kit";
|
||||
import type { LayoutLoad } from "./$types";
|
||||
|
||||
export const ssr = false;
|
||||
|
||||
export const load = (async ({ parent }) => {
|
||||
const user = await apiFetchClient<MeUser>("/users/@me");
|
||||
const warnings = await apiFetchClient<Warning[]>("/auth/warnings?all=true");
|
||||
|
||||
let invites: Invite[] = [];
|
||||
let invitesEnabled = true;
|
||||
try {
|
||||
invites = await apiFetchClient<Invite[]>("/auth/invites");
|
||||
} catch (e) {
|
||||
if ((e as APIError).code === ErrorCode.InvitesDisabled) {
|
||||
invitesEnabled = false;
|
||||
const user = await apiFetchClient<MeUser>("/users/@me");
|
||||
const warnings = await apiFetchClient<Warning[]>("/auth/warnings?all=true");
|
||||
|
||||
let invites: Invite[] = [];
|
||||
let invitesEnabled = true;
|
||||
try {
|
||||
invites = await apiFetchClient<Invite[]>("/auth/invites");
|
||||
} catch (e) {
|
||||
if ((e as APIError).code === ErrorCode.InvitesDisabled) {
|
||||
invitesEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
const data = await parent();
|
||||
|
||||
return {
|
||||
...data,
|
||||
user,
|
||||
invites,
|
||||
invitesEnabled,
|
||||
warnings,
|
||||
};
|
||||
} catch (e) {
|
||||
if ((e as APIError).code !== ErrorCode.InternalServerError) {
|
||||
throw redirect(303, "/auth/login");
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
|
||||
const data = await parent();
|
||||
|
||||
return {
|
||||
...data,
|
||||
user,
|
||||
invites,
|
||||
invitesEnabled,
|
||||
warnings,
|
||||
};
|
||||
}) satisfies LayoutLoad;
|
||||
|
|
Loading…
Reference in a new issue