diff --git a/app/components/main_header.vue b/app/components/main_header.vue index 7f6b68b..817e083 100644 --- a/app/components/main_header.vue +++ b/app/components/main_header.vue @@ -27,14 +27,11 @@ const props = defineProps({ }) function logout() { - return fetch("/logout").then( - (response) => { - if (response.ok) { - window.location.href = "/"; - } - } - ) + return $fetch("/logout").then((r) => { + reloadNuxtApp({ path: "/" }) + }); } + diff --git a/app/pages/login.vue b/app/pages/login.vue index cc80b2e..fa803e1 100644 --- a/app/pages/login.vue +++ b/app/pages/login.vue @@ -39,20 +39,17 @@ const schema = z.object({ type Schema = z.output function onSubmit(payload: FormSubmitEvent) { - return fetch(base_url + "/login", { + return $fetch("/login", { method: "POST", - headers: { - "Content-Type" : "application/json" - }, - body: JSON.stringify({ + body: { email: payload.data.email, password: payload.data.password, remember: payload.data.remember || false - }) - }).then((response) => { - if (response.ok) - window.location.href = "/"; - else if (response.status == 401) { + } + }).then((r) => { + reloadNuxtApp({path: "/"}); + }).catch((err) => { + if(err.data.statusCode == 401) { wrong_login.value = true; // show for 5 seconds setTimeout(() => wrong_login.value = false, 5000); diff --git a/app/pages/settings/general.vue b/app/pages/settings/general.vue index 4fee7cb..d345fbd 100644 --- a/app/pages/settings/general.vue +++ b/app/pages/settings/general.vue @@ -1,6 +1,7 @@