From 38eee8b38c3ce21e64a1dfdc2ade137a07759d6e Mon Sep 17 00:00:00 2001 From: Jonas Kappa Date: Sat, 4 Oct 2025 13:41:40 +0200 Subject: [PATCH] Added settings for changing password --- src/lib/Auth.svelte.ts | 12 ++--- src/lib/User.svelte.ts | 27 +++++++++- src/routes/+page.svelte | 12 +++-- src/routes/login/+page.svelte | 5 +- src/routes/settings/+page.svelte | 92 ++++++++++++++++++++++++++++++++ vite.config.ts | 8 +-- 6 files changed, 140 insertions(+), 16 deletions(-) create mode 100644 src/routes/settings/+page.svelte diff --git a/src/lib/Auth.svelte.ts b/src/lib/Auth.svelte.ts index 1c016b7..0950ec3 100644 --- a/src/lib/Auth.svelte.ts +++ b/src/lib/Auth.svelte.ts @@ -1,6 +1,6 @@ import axios from "axios"; import { env } from "$env/dynamic/public"; -import UserSvelte from "./User.svelte"; +import UserSvelte, { type UserObj } from "./User.svelte"; import { goto } from "$app/navigation"; export async function isAuthenticated() { @@ -8,13 +8,13 @@ export async function isAuthenticated() { return true; } return axios - .get( - `${env.PUBLIC_JEOPARDY_SERVER_PROTOCOL}://${env.PUBLIC_JEOPARDY_SERVER}/user/username`, - { withCredentials: true } - ) + .get(`${env.PUBLIC_JEOPARDY_SERVER_PROTOCOL}://${env.PUBLIC_JEOPARDY_SERVER}/auth`, { + withCredentials: true + }) .then((res) => { if (res.status === 200) { - UserSvelte.username = res.data; + UserSvelte.user = res.data as UserObj; + console.log(UserSvelte.id, UserSvelte.username, UserSvelte.role); return true; } else { goto("/login"); diff --git a/src/lib/User.svelte.ts b/src/lib/User.svelte.ts index 8c97446..cdad800 100644 --- a/src/lib/User.svelte.ts +++ b/src/lib/User.svelte.ts @@ -1,4 +1,12 @@ -let username: string = ""; +let username: string = $state(""); +let role: string = $state(""); +let id: string = $state(""); + +export type UserObj = { + username: string; + role: string; + _id: string; +}; export default { get username(): string { @@ -6,5 +14,22 @@ export default { }, set username(uname: string) { username = uname; + }, + get role(): string { + return role; + }, + set role(newrole: string) { + role = newrole; + }, + get id(): string { + return id; + }, + set id(newid: string) { + id = newid; + }, + set user(userobj: UserObj) { + username = userobj.username; + role = userobj.role; + id = userobj._id; } }; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5eea50d..6aed519 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -16,14 +16,20 @@
-

Jeopardy

+
+

Jeopardy

+
+ +
Spiel hosten Spiel darstellen
diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte index 34bf41a..f43c17e 100644 --- a/src/routes/login/+page.svelte +++ b/src/routes/login/+page.svelte @@ -1,7 +1,7 @@ + +
+
+

Einstellungen

+
+ +
+
+

Passwort ändern

+
+ + + + + + +
+ + {#if error.length > 0} +
{error}
+ {/if} +
+
+ + diff --git a/vite.config.ts b/vite.config.ts index 2d35c4f..7615605 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,7 +1,7 @@ -import tailwindcss from '@tailwindcss/vite'; -import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vite'; +import tailwindcss from "@tailwindcss/vite"; +import { sveltekit } from "@sveltejs/kit/vite"; +import { defineConfig } from "vite"; export default defineConfig({ - plugins: [tailwindcss(), sveltekit()] + plugins: [sveltekit(), tailwindcss()] });