diff --git a/package-lock.json b/package-lock.json index 0e41c4d52d0928c850db5bcb9ea7a342a14d6a2b..f2a88903121ca6b195280e17cacdef34d6c0cdfc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,9 @@ "@iconify/vue": "^4.1.1", "@pinia/testing": "^0.0.16", "jwt-decode": "^3.1.2", - "lodash": "^4.17.21", "pinia": "^2.0.35", "pinia-plugin-persistedstate": "^3.1.0", + "sass": "^1.62.0", "vue": "^3.2.45", "vue-router": "^4.1.6" }, @@ -1329,9 +1329,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1538,9 +1535,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=8" } @@ -1570,9 +1564,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -1830,15 +1821,12 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], - "optional": true, - "peer": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2741,9 +2729,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2850,7 +2835,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2994,9 +2978,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -3278,10 +3259,7 @@ "node_modules/immutable": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true, - "optional": true, - "peer": true + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" }, "node_modules/imurmurhash": { "version": "0.1.4", @@ -3348,9 +3326,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3386,9 +3361,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -3406,9 +3378,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3442,9 +3411,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.12.0" } @@ -3837,7 +3803,8 @@ "node_modules/lodash": { "version": "4.17.21", "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": { "version": "4.1.1", @@ -4642,9 +4609,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -4891,9 +4855,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=8.6" }, @@ -5234,9 +5195,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -5438,9 +5396,6 @@ "version": "1.62.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.0.tgz", "integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -6235,9 +6190,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { "is-number": "^7.0.0" }, diff --git a/src/components/ItemSearch.vue b/src/components/ItemSearch.vue index 12298cc97c69a64911f856fa1887a3864ca006ca..10805ce1e1e4a2edb9f9eeda83e3e4b11650ac73 100644 --- a/src/components/ItemSearch.vue +++ b/src/components/ItemSearch.vue @@ -63,7 +63,9 @@ export default { { "quantity": this.selectedItem.amount.quantity*num, "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() { const num = this.numOfItemsToAdd; diff --git a/src/stores/authStore.js b/src/stores/authStore.js index 26abffe2f8167891e46d89a9380522ce38abfb10..0e906aa283730aea3cec044f69bcaf8d5827f0e1 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -41,7 +41,7 @@ export const useAuthStore = defineStore("auth", { this.items.push(item); }, setFridge(fridgeItems){ - this.fridgeItems=fridgeItems; + this.fridgeItems = fridgeItems; }, addItemToFridge(fridgeItem){ this.fridgeItems.push(fridgeItem); diff --git a/src/util/API.js b/src/util/API.js index d054cda4c5af69e9aa58dc44f2104b4f11481e4c..ca7ce08d492a9d7d4bf925de49c83d63bee96796 100644 --- a/src/util/API.js +++ b/src/util/API.js @@ -196,11 +196,11 @@ export const API = { * @returns {Promise<void>} */ addToFridge: async(request) =>{ - const authStore = useAuthStore(); axios.post(`${import.meta.env.VITE_BACKEND_URL}/fridge/items`, request,{ headers: { Authorization: `Bearer ${authStore.token}` }, }).then((response) => { + authStore.setFridge(response.data) return response.data; }).catch(()=> { throw new Error("Could not add item to fridge: "); @@ -353,19 +353,6 @@ export const API = { .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) => { // const authStore = useAuthStore(); @@ -388,11 +375,6 @@ export const API = { }, - - - - - /** * Get recipe based on id * @param id diff --git a/src/views/FridgeView.vue b/src/views/FridgeView.vue index caa343712919d16285481552929ab5541f8c0ca4..365092cf95cba4cb1f45bd5a066194ebf87bbe39 100644 --- a/src/views/FridgeView.vue +++ b/src/views/FridgeView.vue @@ -1,6 +1,6 @@ <template><h1>Kjøleskap</h1> <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> <eat-fridge-item-modal @closeModal="hideModal" v-if="visible" :fridge-item="selectedItem"></eat-fridge-item-modal> @@ -61,8 +61,6 @@ export default { this.fridgeMsg=msg; }, async updateFridge(addedItem) { - this.fridgeItems = await API.getFridgeItems(); - this.hideItemSearch(); this.updateFridgeMessage(addedItem.name + " ble lagt i kjøleskapet.") },