From de2904f4e61d7c40e3ffc7c77cc247ef32613804 Mon Sep 17 00:00:00 2001
From: ingrid <ingrimeg@stud.ntnu.no>
Date: Fri, 28 Apr 2023 11:26:30 +0200
Subject: [PATCH] =?UTF-8?q?kj=C3=B8leskapselementer=20vises?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/FridgeItem.vue   | 17 +++++++++++++----
 src/components/ItemSearch.vue   | 14 +++++++-------
 src/util/API.js                 |  2 +-
 src/views/FridgeView.vue        | 13 ++++++++-----
 src/views/SelectProfileView.vue | 12 ++++++++++--
 5 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/src/components/FridgeItem.vue b/src/components/FridgeItem.vue
index cd0bff2..d7cb9d6 100644
--- a/src/components/FridgeItem.vue
+++ b/src/components/FridgeItem.vue
@@ -1,8 +1,9 @@
 <template>
 <div id ="item">
-    <img src="src/components/icons/logo.png" alt="">
+    <!--<img src="src/components/icons/logo.png" alt="">-->
+    <img :src="getImage" alt="">
     <div id="itemInfo">
-        <p id="fridgeItemName">{{ this.item.itemName }} {{ this.item.quantity }}{{this.item.quantityUnit}}</p>
+        <p id="fridgeItemName">{{this.actualItem.item.name }} {{ this.actualItem.item.amount.quantity }}{{this.actualItem.item.amount.unit}}</p>
         <p :style="{color:expirationTextColor}">{{expirationText}}</p>
     </div>
     <div @click="appleBtnPressed">
@@ -35,6 +36,10 @@ export default {
                 return 'black';
             }
         },
+        getImage(){
+            return this.actualItem.item.image_url;
+
+        },
         expirationText() {
             const expirationDays = this.getDateDifference();
 
@@ -56,7 +61,7 @@ export default {
                 case 3:
                     return "Utgår om tre dager"
                 default:
-                    return "Utgår " + this.item.expiration
+                    return "Utgår " + this.actualItem.exp_date
             }
         }
     },
@@ -65,6 +70,10 @@ export default {
           type:Object,
           required: false,
         },
+        actualItem: {
+            type: Object,
+            required:false,
+        },
         itemName: String,
         expiration: String,
         image: String,
@@ -73,7 +82,7 @@ export default {
     },
     methods: {
         getDateDifference(){ //returns the difference between two dates
-            const date = this.item.expiration.split('.');
+            const date = this.actualItem.exp_date.split('.');//todo
             const dateFormat = date[1] + "/" + date [0]+ "/"+date[2];
             const expDate = new Date(dateFormat);
             const today = new Date();
diff --git a/src/components/ItemSearch.vue b/src/components/ItemSearch.vue
index 0a4668d..8083ed8 100644
--- a/src/components/ItemSearch.vue
+++ b/src/components/ItemSearch.vue
@@ -38,16 +38,16 @@ export default {
         addToFridge(){
             const num = this.numOfItemsToAdd;
 
-            const ingred = {
-                item: this.selectedItem.id,
-                amount: this.selectedItem.amount
-            }
+            /*const ingredient = {
+            {itemId: 123,
+                amount: this.selectedItem.amount}
+            }*/
 
-            const request = [{itemId: this.selectedItem.id, amount: this.selectedItem.amount}]
+            //const request = [{ingredient}]
             //const request = [{ingredient_id: ingred},{ingredient: ingred}]
             //const request = [{ingredient: JSON.stringify(ingred)}]
-            console.log(request)
-            API.addToFridge(JSON.stringify(request))
+            //console.log(request)
+            API.addToFridge({"itemId": 1, "amount": {"quantity": this.selectedItem.amount.quantity,"unit": this.selectedItem.amount.unit}})
         }
     }
 }
diff --git a/src/util/API.js b/src/util/API.js
index 565c55a..a5c477e 100644
--- a/src/util/API.js
+++ b/src/util/API.js
@@ -161,7 +161,7 @@ export const API = {
         axios.post(`${import.meta.env.VITE_BACKEND_URL}/fridge/items`, request,{
             headers: { Authorization: `Bearer ${authStore.token}` },
         }).then((response) => {
-            return response.data.value.content;
+            return response.data;
         }).catch(()=> {
             throw new Error("Could not add item to fridge: ");
         })
diff --git a/src/views/FridgeView.vue b/src/views/FridgeView.vue
index a900355..84e2564 100644
--- a/src/views/FridgeView.vue
+++ b/src/views/FridgeView.vue
@@ -3,13 +3,14 @@
         <h1>Kjøleskap</h1><br><br>
         <ItemSearch></ItemSearch>
         <eat-fridge-item-modal @closeModal="hideModal" v-if="visible" :fridge-item="selectedItem"></eat-fridge-item-modal>
+
         <div id = "itemContainer">
           <!--<FridgeItem v-for="item in fridgeStore.items"></FridgeItem>-->
-            <FridgeItem v-for="item in fridgeItems" :item="item"></FridgeItem>
-            <FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>
-            <FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>
+            <FridgeItem v-for="item in fridgeItems" :actualItem = "item" :item="testItem"></FridgeItem>
+            <!---<FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>
             <FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>
             <FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>
+            <FridgeItem @appleBtnPressed="showModal" :item=testItem ></FridgeItem>-->
 
             <!--<FridgeItem @appleBtnPressed="showModal" item-name="Eple" quantity="3" quantity-unit="stk" expiration="14.02.23"></FridgeItem>
             <FridgeItem @appleBtnPressed="showModal" item-name="Sommerkål" quantity="0.5" quantity-unit=" stk" expiration="30.02.23"></FridgeItem>
@@ -41,6 +42,7 @@ import {mapState, mapStores} from "pinia";
 import {useAuthStore} from "@/stores/authStore";
 import {useFridgeStore} from "@/stores/fridgeStore";
 import ItemSearch from "@/components/ItemSearch.vue";
+import fridgeItem from "@/components/FridgeItem.vue";
 
 export default {
     name: "FridgeView",
@@ -75,8 +77,9 @@ export default {
         alert("Denne knappen legger en ny vare i kjøleskapet")
     }
   },
-  mounted(){
-      this.fridgeItems = API.getFridgeItems();
+  async mounted() {
+      this.fridgeItems = await API.getFridgeItems();
+      console.log(this.fridgeItems.length)
   }
 }
 </script>
diff --git a/src/views/SelectProfileView.vue b/src/views/SelectProfileView.vue
index 13f0eba..8b7130a 100644
--- a/src/views/SelectProfileView.vue
+++ b/src/views/SelectProfileView.vue
@@ -45,11 +45,11 @@
         <h1>Hvem bruker appen?</h1>
 
         <div class="icons">
-            <div v-for="profile in this.profiles" tabindex="0" @click=selectProfile(profile.id) class="icon" role="button" :aria-label="profile.name">
+            <div v-for="profile in this.profiles"  @click=selectProfile(profile.id) class="icon" >
 
                 <img v-if="profile.profileImageUrl == ''" src="https://t4.ftcdn.net/jpg/02/15/84/43/360_F_215844325_ttX9YiIIyeaR7Ne6EaLLjMAmy4GvPC69.jpg" alt="profile image">
                 <img v-else :src=profile.profileImageUrl alt="profile image">
-                <p>{{profile.name}}</p>
+                <button id="selectProfileBtn" @click=selectProfile(profile.id)><p>{{profile.name}}</p></button>
             </div>
             
         </div>
@@ -117,4 +117,12 @@
         padding-bottom: 10px;
     }
 
+    #selectProfileBtn {
+        background-color: transparent;
+        border:none;
+        font-size: 1em;
+        border-radius: 0;
+
+    }
+
 </style>
\ No newline at end of file
-- 
GitLab