From 7336bdaf9de1ea114712c4d67bb0253313571046 Mon Sep 17 00:00:00 2001 From: ingrid <ingrimeg@stud.ntnu.no> Date: Thu, 4 May 2023 05:16:08 +0200 Subject: [PATCH] fjernet fridge som eget store. oppdaterte metoder --- src/stores/authStore.js | 9 ++++++++- src/util/API.js | 21 +++++---------------- src/views/FridgeView.vue | 9 ++++----- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/stores/authStore.js b/src/stores/authStore.js index 1aaf200..26abffe 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -6,7 +6,8 @@ export const useAuthStore = defineStore("auth", { account: {}, profile: {}, profiles: [], - items: {ingredientList: [], suggestionList: []} + items: {ingredientList: [], suggestionList: []}, + fridgeItems: [], }; }, persist: { @@ -38,6 +39,12 @@ export const useAuthStore = defineStore("auth", { }, setItem(item) { this.items.push(item); + }, + setFridge(fridgeItems){ + this.fridgeItems=fridgeItems; + }, + addItemToFridge(fridgeItem){ + this.fridgeItems.push(fridgeItem); } } }); diff --git a/src/util/API.js b/src/util/API.js index db06150..d054cda 100644 --- a/src/util/API.js +++ b/src/util/API.js @@ -183,6 +183,7 @@ export const API = { headers: { Authorization: `Bearer ${authStore.token}` }, }) .then((response) => { + authStore.setFridge(response.data) return response.data; }).catch(() => { throw new Error("Could not fetch fridge items"); @@ -233,6 +234,7 @@ export const API = { axios.put(`${import.meta.env.VITE_BACKEND_URL}/fridge/ingredientsAmount`, request,{ headers: { Authorization: `Bearer ${authStore.token}` }, }).then((response) => { + authStore.setFridge(response.data); return response.data; }).catch(()=> { throw new Error("Could modify ingredient. "); @@ -256,22 +258,6 @@ export const API = { }) }, - - //returns fridgeItem of specific id - getFridgeItem: async (id) =>{ - const authStore = useAuthStore(); - - axios.get(`${import.meta.env.VITE_BACKEND_URL}/fridge/${id}`, { - headers: { Authorization: `Bearer ${authStore.token}` }, - }) - .then((response) => { - return response.data; - }) - .catch(() => { - throw new Error("Could not fetch fridge item"); - }); - }, - /** * Getter for the shopping list of a logged in account * @returns a promise that resolves to an array of Ingredient objects representing the shopping list, or an error if it fails @@ -402,6 +388,9 @@ export const API = { }, + + + /** diff --git a/src/views/FridgeView.vue b/src/views/FridgeView.vue index a52a9dd..caa3437 100644 --- a/src/views/FridgeView.vue +++ b/src/views/FridgeView.vue @@ -31,14 +31,13 @@ export default { name: "FridgeView", components: {ItemSearch, EatFridgeItemModal, FridgeItem}, computed:{ - ...mapState(useAuthStore, ['account']), - ...mapStores(useFridgeStore), + ...mapState(useAuthStore, ['account', 'fridgeItems']), }, data() { return { visible: false, //is the useitemModal visible selectedItem: null, - fridgeItems: [], + //fridgeItems: [], searchVisible: false, fridgeMsg: "" } @@ -63,14 +62,14 @@ export default { }, async updateFridge(addedItem) { this.fridgeItems = await API.getFridgeItems(); - this.fridgeItems = await API.getFridgeItems(); + this.hideItemSearch(); this.updateFridgeMessage(addedItem.name + " ble lagt i kjøleskapet.") }, }, async mounted() { - this.fridgeItems = await API.getFridgeItems(); + await API.getFridgeItems() if(this.fridgeItems.length===0){ this.fridgeMsg="Kjøleskapet ditt er tomt." } -- GitLab