diff --git a/src/components/MealCard.vue b/src/components/MealCard.vue index 587c446..3c67245 100644 --- a/src/components/MealCard.vue +++ b/src/components/MealCard.vue @@ -3,22 +3,22 @@

{{ dayOfWeek }} {{ date }}

- - {{ recipe.name }} + + {{ recipe.name }}{{ seperator(index, meal.recipes) }} with - - {{ ingredient.name }} + + {{ ingredient.name }}{{ seperator(index, meal.extra_ingredients) }}

- - {{ recipe.name }} + + {{ recipe.name }}{{ seperator(index, meal.recipes) }}

- - {{ ingredient.name }} + + {{ ingredient.name }}{{ seperator(index, meal.extra_ingredients) }}

@@ -28,14 +28,14 @@

Cooked by - {{ chef.name }} + {{ chef.name }}{{ seperator(index, meal.chefs) }} somebody?

For - {{ consumer.name }} + {{ consumer.name }}{{ seperator(index, meal.consumers) }} somebody?

@@ -62,6 +62,18 @@ export default { }, dayOfWeek() { return this.meal.date.toLocaleDateString('en-au', { weekday: 'long' }) + }, + }, + methods: { + seperator(index, list) { + switch (index) { + case list.length - 1: + return ''; + case list.length - 2: + return ' and '; + default: + return ', '; + } } } } diff --git a/src/components/MealPlanPage.vue b/src/components/MealPlanPage.vue index dad89bb..017aa16 100644 --- a/src/components/MealPlanPage.vue +++ b/src/components/MealPlanPage.vue @@ -59,6 +59,8 @@ export default { }, data() { const from = new Date(); + from.setTime(0); + const to = new Date(); to.setDate(to.getDate() + 7); @@ -77,8 +79,9 @@ export default { console.log('editmeal', meal) this.selectedMeal = meal; }, - deleteSelectedMeal() { - console.log('deleteSelectedMeal', this.selectedMeal) + async deleteSelectedMeal() { + await data.deleteMeal(this.selectedMeal.id); + this.meals = this.meals.filter(m => m.id !== this.selectedMeal.id); this.selectedMeal = null; } } diff --git a/src/data.js b/src/data.js index 57a33ee..d7ce1b5 100644 --- a/src/data.js +++ b/src/data.js @@ -14,6 +14,12 @@ export default { var response = await fetch(BASE_URL + `/meals/${encodeURIComponent(id)}`); return await response.json(); }, + async deleteMeal(id) { + var response = await fetch(BASE_URL + `/meals/${encodeURIComponent(id)}`, { + method: "DELETE", + }); + return await response.json(); + }, async searchRecipes(query) { const response = await fetch(BASE_URL + "/recipes?q=" + encodeURIComponent(query)); return await response.json();