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

Merge branch 'fridge-updates' into 'main'

Fridge updates

See merge request !20
parents 3ead56bb 034612d1
No related branches found
No related tags found
1 merge request!20Fridge updates
Pipeline #225280 passed with stages
in 2 minutes and 16 seconds
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
"@iconify/vue": "^4.1.1", "@iconify/vue": "^4.1.1",
"@pinia/testing": "^0.0.16", "@pinia/testing": "^0.0.16",
"jwt-decode": "^3.1.2", "jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"pinia": "^2.0.35", "pinia": "^2.0.35",
"pinia-plugin-persistedstate": "^3.1.0", "pinia-plugin-persistedstate": "^3.1.0",
"sass": "^1.62.0",
"vue": "^3.2.45", "vue": "^3.2.45",
"vue-router": "^4.1.6" "vue-router": "^4.1.6"
}, },
...@@ -1329,9 +1329,6 @@ ...@@ -1329,9 +1329,6 @@
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
...@@ -1538,9 +1535,6 @@ ...@@ -1538,9 +1535,6 @@
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
...@@ -1570,9 +1564,6 @@ ...@@ -1570,9 +1564,6 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.0.1"
}, },
...@@ -1830,15 +1821,12 @@ ...@@ -1830,15 +1821,12 @@
"version": "3.5.3", "version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
"url": "https://paulmillr.com/funding/" "url": "https://paulmillr.com/funding/"
} }
], ],
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
...@@ -2741,9 +2729,6 @@ ...@@ -2741,9 +2729,6 @@
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
}, },
...@@ -2850,7 +2835,6 @@ ...@@ -2850,7 +2835,6 @@
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"optional": true, "optional": true,
"os": [ "os": [
...@@ -2994,9 +2978,6 @@ ...@@ -2994,9 +2978,6 @@
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
}, },
...@@ -3278,10 +3259,7 @@ ...@@ -3278,10 +3259,7 @@
"node_modules/immutable": { "node_modules/immutable": {
"version": "4.3.0", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
"integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg=="
"dev": true,
"optional": true,
"peer": true
}, },
"node_modules/imurmurhash": { "node_modules/imurmurhash": {
"version": "0.1.4", "version": "0.1.4",
...@@ -3348,9 +3326,6 @@ ...@@ -3348,9 +3326,6 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
}, },
...@@ -3386,9 +3361,6 @@ ...@@ -3386,9 +3361,6 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -3406,9 +3378,6 @@ ...@@ -3406,9 +3378,6 @@
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-extglob": "^2.1.1" "is-extglob": "^2.1.1"
}, },
...@@ -3442,9 +3411,6 @@ ...@@ -3442,9 +3411,6 @@
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.12.0" "node": ">=0.12.0"
} }
...@@ -3837,7 +3803,8 @@ ...@@ -3837,7 +3803,8 @@
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
}, },
"node_modules/lodash.once": { "node_modules/lodash.once": {
"version": "4.1.1", "version": "4.1.1",
...@@ -4642,9 +4609,6 @@ ...@@ -4642,9 +4609,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -4891,9 +4855,6 @@ ...@@ -4891,9 +4855,6 @@
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=8.6" "node": ">=8.6"
}, },
...@@ -5234,9 +5195,6 @@ ...@@ -5234,9 +5195,6 @@
"version": "3.6.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
}, },
...@@ -5438,9 +5396,6 @@ ...@@ -5438,9 +5396,6 @@
"version": "1.62.0", "version": "1.62.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.62.0.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.0.tgz",
"integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==", "integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"chokidar": ">=3.0.0 <4.0.0", "chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0", "immutable": "^4.0.0",
...@@ -6235,9 +6190,6 @@ ...@@ -6235,9 +6190,6 @@
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
}, },
......
...@@ -63,7 +63,9 @@ export default { ...@@ -63,7 +63,9 @@ export default {
{ {
"quantity": this.selectedItem.amount.quantity*num, "quantity": this.selectedItem.amount.quantity*num,
"unit": this.selectedItem.amount.unit}} "unit": this.selectedItem.amount.unit}}
).then(() => this.$emit('itemsAdded',this.selectedItem)).catch((_)=> console.log("No items were added to the fridge")) ).then((_) => {
this.$emit('itemsAdded',this.selectedItem)
}).catch((_)=> console.log("No items were added to the fridge"))
}, },
async addToShoppingList() { async addToShoppingList() {
const num = this.numOfItemsToAdd; const num = this.numOfItemsToAdd;
......
...@@ -6,7 +6,8 @@ export const useAuthStore = defineStore("auth", { ...@@ -6,7 +6,8 @@ export const useAuthStore = defineStore("auth", {
account: {}, account: {},
profile: {}, profile: {},
profiles: [], profiles: [],
items: {ingredientList: [], suggestionList: []} items: {ingredientList: [], suggestionList: []},
fridgeItems: [],
}; };
}, },
persist: { persist: {
...@@ -38,6 +39,12 @@ export const useAuthStore = defineStore("auth", { ...@@ -38,6 +39,12 @@ export const useAuthStore = defineStore("auth", {
}, },
setItem(item) { setItem(item) {
this.items.push(item); this.items.push(item);
},
setFridge(fridgeItems){
this.fridgeItems = fridgeItems;
},
addItemToFridge(fridgeItem){
this.fridgeItems.push(fridgeItem);
} }
} }
}); });
...@@ -183,6 +183,7 @@ export const API = { ...@@ -183,6 +183,7 @@ export const API = {
headers: { Authorization: `Bearer ${authStore.token}` }, headers: { Authorization: `Bearer ${authStore.token}` },
}) })
.then((response) => { .then((response) => {
authStore.setFridge(response.data)
return response.data; return response.data;
}).catch(() => { }).catch(() => {
throw new Error("Could not fetch fridge items"); throw new Error("Could not fetch fridge items");
...@@ -195,11 +196,11 @@ export const API = { ...@@ -195,11 +196,11 @@ export const API = {
* @returns {Promise<void>} * @returns {Promise<void>}
*/ */
addToFridge: async(request) =>{ addToFridge: async(request) =>{
const authStore = useAuthStore(); const authStore = useAuthStore();
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) => {
authStore.setFridge(response.data)
return response.data; return response.data;
}).catch(()=> { }).catch(()=> {
throw new Error("Could not add item to fridge: "); throw new Error("Could not add item to fridge: ");
...@@ -233,6 +234,7 @@ export const API = { ...@@ -233,6 +234,7 @@ export const API = {
axios.put(`${import.meta.env.VITE_BACKEND_URL}/fridge/ingredientsAmount`, request,{ axios.put(`${import.meta.env.VITE_BACKEND_URL}/fridge/ingredientsAmount`, request,{
headers: { Authorization: `Bearer ${authStore.token}` }, headers: { Authorization: `Bearer ${authStore.token}` },
}).then((response) => { }).then((response) => {
authStore.setFridge(response.data);
return response.data; return response.data;
}).catch(()=> { }).catch(()=> {
throw new Error("Could modify ingredient. "); throw new Error("Could modify ingredient. ");
...@@ -256,22 +258,6 @@ export const API = { ...@@ -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 * 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 * @returns a promise that resolves to an array of Ingredient objects representing the shopping list, or an error if it fails
...@@ -367,19 +353,6 @@ export const API = { ...@@ -367,19 +353,6 @@ export const API = {
.catch(err => {console.log(err)}) .catch(err => {console.log(err)})
}, },
/**
* Searches for registered items.
* @param searchPhrase Name of the item that one is looking for (e.g: "purre")
* @returns {Promise<*>} list containing items that match the search phrase
*/
searchItems: async(searchPhrase)=> {
return axios.get(`${import.meta.env.VITE_BACKEND_URL}/item/search?name=${searchPhrase}`, {
}).then((response) => {
return response.data.content;
}).catch(()=> {
throw new Error("Error when searching for item ");
})
},
// addIngredientsToFridge: async (ingredientIds) => { // addIngredientsToFridge: async (ingredientIds) => {
// const authStore = useAuthStore(); // const authStore = useAuthStore();
...@@ -402,8 +375,6 @@ export const API = { ...@@ -402,8 +375,6 @@ export const API = {
}, },
/** /**
* Get recipe based on id * Get recipe based on id
* @param id * @param id
......
<template><h1>Kjøleskap</h1> <template><h1>Kjøleskap</h1>
<main> <main>
<ItemSearch v-if="searchVisible" @itemsAdded="updateFridge"></ItemSearch> <ItemSearch :adds-to-fridge="true" v-if="searchVisible" @itemsAdded="updateFridge"></ItemSearch>
<div id = "fridgeMsg"><p v-if="this.fridgeMsg != ''">Melding fra kjøleskapet:</p><span>{{this.fridgeMsg}}</span></div> <div id = "fridgeMsg"><p v-if="this.fridgeMsg != ''">Melding fra kjøleskapet:</p><span>{{this.fridgeMsg}}</span></div>
<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>
...@@ -31,14 +31,13 @@ export default { ...@@ -31,14 +31,13 @@ export default {
name: "FridgeView", name: "FridgeView",
components: {ItemSearch, EatFridgeItemModal, FridgeItem}, components: {ItemSearch, EatFridgeItemModal, FridgeItem},
computed:{ computed:{
...mapState(useAuthStore, ['account']), ...mapState(useAuthStore, ['account', 'fridgeItems']),
...mapStores(useFridgeStore),
}, },
data() { data() {
return { return {
visible: false, //is the useitemModal visible visible: false, //is the useitemModal visible
selectedItem: null, selectedItem: null,
fridgeItems: [], //fridgeItems: [],
searchVisible: false, searchVisible: false,
fridgeMsg: "" fridgeMsg: ""
} }
...@@ -62,15 +61,13 @@ export default { ...@@ -62,15 +61,13 @@ export default {
this.fridgeMsg=msg; this.fridgeMsg=msg;
}, },
async updateFridge(addedItem) { async updateFridge(addedItem) {
this.fridgeItems = await API.getFridgeItems();
this.fridgeItems = await API.getFridgeItems();
this.hideItemSearch(); this.hideItemSearch();
this.updateFridgeMessage(addedItem.name + " ble lagt i kjøleskapet.") this.updateFridgeMessage(addedItem.name + " ble lagt i kjøleskapet.")
}, },
}, },
async mounted() { async mounted() {
this.fridgeItems = await API.getFridgeItems(); await API.getFridgeItems()
if(this.fridgeItems.length===0){ if(this.fridgeItems.length===0){
this.fridgeMsg="Kjøleskapet ditt er tomt." this.fridgeMsg="Kjøleskapet ditt er tomt."
} }
......
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