From 0d987f5c97cc8c0e205193ef8c67745ac981d5bf Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Thu, 3 Apr 2025 12:36:34 +0200 Subject: Fix login and register --- frontend/pages/index.vue | 21 ++------ frontend/pages/login.vue | 15 ++++-- frontend/pages/register.vue | 128 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 22 deletions(-) create mode 100644 frontend/pages/register.vue (limited to 'frontend/pages') diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index d097617..110db25 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -1,20 +1,7 @@ - + diff --git a/frontend/pages/login.vue b/frontend/pages/login.vue index 0be0372..5fdb689 100644 --- a/frontend/pages/login.vue +++ b/frontend/pages/login.vue @@ -83,7 +83,7 @@ const handleSubmit = async (event) => { try { error.value = null; isLoading.value = true; - fetch(`${config.public.apiBase}/auth/login`, { + await fetch(`${config.public.apiBase}/auth/login`, { method: "POST", headers: { "Content-Type": "application/json", @@ -92,23 +92,28 @@ const handleSubmit = async (event) => { username: username.value, password: password.value, }), - }).then((response) => { + }).then(async (response) => { + const body = await response.json(); if (response.status != 200) { toast.add({ title: "Login Failed", - description: response.body, + description: body.error, color: "error", }); } else { toast.add({ title: "Login Successful", - description: "You have been successfully logged in.", + description: "You have been successfully logged in", color: "success", }); + + localStorage.setItem("token", body.token); + setTimeout(() => { + window.location.href = "/play"; + }, 1000); } }); } catch (err) { - console.error("Login failed:", err); error.value = err.response?.data?.message || "An error occurred during login"; diff --git a/frontend/pages/register.vue b/frontend/pages/register.vue new file mode 100644 index 0000000..824b53b --- /dev/null +++ b/frontend/pages/register.vue @@ -0,0 +1,128 @@ + + + -- cgit v1.2.3-18-g5258