Skip to content
Snippets Groups Projects
Commit de2904f4 authored by Ingrid Martinsheimen Egge's avatar Ingrid Martinsheimen Egge :cow2:
Browse files

kjøleskapselementer vises

parent 986fff17
No related branches found
No related tags found
1 merge request!13Fridge view
<template> <template>
<div id ="item"> <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"> <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> <p :style="{color:expirationTextColor}">{{expirationText}}</p>
</div> </div>
<div @click="appleBtnPressed"> <div @click="appleBtnPressed">
...@@ -35,6 +36,10 @@ export default { ...@@ -35,6 +36,10 @@ export default {
return 'black'; return 'black';
} }
}, },
getImage(){
return this.actualItem.item.image_url;
},
expirationText() { expirationText() {
const expirationDays = this.getDateDifference(); const expirationDays = this.getDateDifference();
...@@ -56,7 +61,7 @@ export default { ...@@ -56,7 +61,7 @@ export default {
case 3: case 3:
return "Utgår om tre dager" return "Utgår om tre dager"
default: default:
return "Utgår " + this.item.expiration return "Utgår " + this.actualItem.exp_date
} }
} }
}, },
...@@ -65,6 +70,10 @@ export default { ...@@ -65,6 +70,10 @@ export default {
type:Object, type:Object,
required: false, required: false,
}, },
actualItem: {
type: Object,
required:false,
},
itemName: String, itemName: String,
expiration: String, expiration: String,
image: String, image: String,
...@@ -73,7 +82,7 @@ export default { ...@@ -73,7 +82,7 @@ export default {
}, },
methods: { methods: {
getDateDifference(){ //returns the difference between two dates 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 dateFormat = date[1] + "/" + date [0]+ "/"+date[2];
const expDate = new Date(dateFormat); const expDate = new Date(dateFormat);
const today = new Date(); const today = new Date();
......
...@@ -38,16 +38,16 @@ export default { ...@@ -38,16 +38,16 @@ export default {
addToFridge(){ addToFridge(){
const num = this.numOfItemsToAdd; const num = this.numOfItemsToAdd;
const ingred = { /*const ingredient = {
item: this.selectedItem.id, {itemId: 123,
amount: this.selectedItem.amount 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_id: ingred},{ingredient: ingred}]
//const request = [{ingredient: JSON.stringify(ingred)}] //const request = [{ingredient: JSON.stringify(ingred)}]
console.log(request) //console.log(request)
API.addToFridge(JSON.stringify(request)) API.addToFridge({"itemId": 1, "amount": {"quantity": this.selectedItem.amount.quantity,"unit": this.selectedItem.amount.unit}})
} }
} }
} }
......
...@@ -161,7 +161,7 @@ export const API = { ...@@ -161,7 +161,7 @@ export const API = {
axios.post(`${import.meta.env.VITE_BACKEND_URL}/fridge/items`, request,{ axios.post(`${import.meta.env.VITE_BACKEND_URL}/fridge/items`, request,{
headers: { Authorization: `Bearer ${authStore.token}` }, headers: { Authorization: `Bearer ${authStore.token}` },
}).then((response) => { }).then((response) => {
return response.data.value.content; return response.data;
}).catch(()=> { }).catch(()=> {
throw new Error("Could not add item to fridge: "); throw new Error("Could not add item to fridge: ");
}) })
......
...@@ -3,13 +3,14 @@ ...@@ -3,13 +3,14 @@
<h1>Kjøleskap</h1><br><br> <h1>Kjøleskap</h1><br><br>
<ItemSearch></ItemSearch> <ItemSearch></ItemSearch>
<eat-fridge-item-modal @closeModal="hideModal" v-if="visible" :fridge-item="selectedItem"></eat-fridge-item-modal> <eat-fridge-item-modal @closeModal="hideModal" v-if="visible" :fridge-item="selectedItem"></eat-fridge-item-modal>
<div id = "itemContainer"> <div id = "itemContainer">
<!--<FridgeItem v-for="item in fridgeStore.items"></FridgeItem>--> <!--<FridgeItem v-for="item in fridgeStore.items"></FridgeItem>-->
<FridgeItem v-for="item in fridgeItems" :item="item"></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=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="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> <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"; ...@@ -41,6 +42,7 @@ import {mapState, mapStores} from "pinia";
import {useAuthStore} from "@/stores/authStore"; import {useAuthStore} from "@/stores/authStore";
import {useFridgeStore} from "@/stores/fridgeStore"; import {useFridgeStore} from "@/stores/fridgeStore";
import ItemSearch from "@/components/ItemSearch.vue"; import ItemSearch from "@/components/ItemSearch.vue";
import fridgeItem from "@/components/FridgeItem.vue";
export default { export default {
name: "FridgeView", name: "FridgeView",
...@@ -75,8 +77,9 @@ export default { ...@@ -75,8 +77,9 @@ export default {
alert("Denne knappen legger en ny vare i kjøleskapet") alert("Denne knappen legger en ny vare i kjøleskapet")
} }
}, },
mounted(){ async mounted() {
this.fridgeItems = API.getFridgeItems(); this.fridgeItems = await API.getFridgeItems();
console.log(this.fridgeItems.length)
} }
} }
</script> </script>
......
...@@ -45,11 +45,11 @@ ...@@ -45,11 +45,11 @@
<h1>Hvem bruker appen?</h1> <h1>Hvem bruker appen?</h1>
<div class="icons"> <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-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"> <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>
</div> </div>
...@@ -117,4 +117,12 @@ ...@@ -117,4 +117,12 @@
padding-bottom: 10px; padding-bottom: 10px;
} }
#selectProfileBtn {
background-color: transparent;
border:none;
font-size: 1em;
border-radius: 0;
}
</style> </style>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment