frontend: initial commit

This commit is contained in:
$(pass /github/name)
2024-09-07 13:36:15 +02:00
parent 4d6938de96
commit 147b8c0afd
22 changed files with 1804 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
import { BASE_API_URI } from "$lib/utils/constants.js";
/** @type {import('@sveltejs/kit').Handle} */
export async function handle({ event, resolve }) {
if (event.locals.user) {
// if there is already a user in session load page as normal
return await resolve(event);
}
// get cookies from browser
const jwt = event.cookies.get("jwt");
if (!jwt) {
// if there is no jwt load page as normal
return await resolve(event);
}
const response = await fetch(`${BASE_API_URI}/users/backend/current-user`, {
credentials: "include",
headers: {
Cookie: `jwt=${jwt}`,
},
});
if (!response.ok) {
// Clear the invalid JWT cookie
event.cookies.delete("jwt", { path: "/" });
return await resolve(event);
}
// find the user based on the jwt
const userData = await response.json();
event.locals.user = userData;
// event.locals.user = await response.json();
if (event.locals.user.date_of_birth) {
event.locals.user.date_of_birth =
event.locals.user.date_of_birth.split("T")[0];
}
if (event.locals.user.membership) {
if (event.locals.user.membership.start_date) {
event.locals.user.membership.start_date =
event.locals.user.membership.start_date.split("T")[0];
}
if (event.locals.user.membership.end_date) {
event.locals.user.membership.end_date =
event.locals.user.membership.end_date.split("T")[0];
}
}
if (
event.locals.user.bank_account &&
event.locals.user.bank_account.mandate_date_signed
) {
event.locals.user.bank_account.mandate_date_signed =
event.locals.user.bank_account.mandate_date_signed.split("T")[0];
}
// load page as normal
return await resolve(event);
}