From a4a4497dc4b55266097097bbcd977a713a69f09d Mon Sep 17 00:00:00 2001 From: jableader Date: Sun, 12 May 2024 16:32:08 +1000 Subject: [PATCH] Login changes --- src/App.vue | 2 +- src/data.js | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/App.vue b/src/App.vue index 563e382..652637a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -28,7 +28,7 @@ export default { } }, async mounted() { - if (!await data.isLoggedIn()) { + if (!await data.currentUser()) { this.$router.push('/login') } } diff --git a/src/data.js b/src/data.js index cb060d0..b02b424 100644 --- a/src/data.js +++ b/src/data.js @@ -90,7 +90,11 @@ export default { return await response.json(); }, - async isLoggedIn() { + async currentUser() { + if (user) { + return user; + } + var cookie = decodeURIComponent(document.cookie).split(";").find(cookie => cookie.trimStart().startsWith("user_id=")); if (cookie) { const response = await fetch(BASE_URL + "/auth/refresh", { @@ -98,10 +102,12 @@ export default { credentials: "include", }); - user = await response.json(); + if (response.ok) { + user = await response.json(); + } } - return user !== null; + return user; }, async login(username) { const response = await fetch(BASE_URL + "/auth/login", { @@ -113,7 +119,10 @@ export default { body: JSON.stringify({ username }), }); - user = await response.json(); + if (response.ok) { + user = await response.json(); + } + return user; }, async deleteRecipe(id) {