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