diff --git a/frontend/components/Domain/Recipe/RecipeCardMobile.vue b/frontend/components/Domain/Recipe/RecipeCardMobile.vue index c6c0cdbec..e5d74569d 100644 --- a/frontend/components/Domain/Recipe/RecipeCardMobile.vue +++ b/frontend/components/Domain/Recipe/RecipeCardMobile.vue @@ -3,7 +3,10 @@ diff --git a/frontend/components/Domain/Recipe/RecipeTimeline.vue b/frontend/components/Domain/Recipe/RecipeTimeline.vue index 49ed1694d..56be7b42b 100644 --- a/frontend/components/Domain/Recipe/RecipeTimeline.vue +++ b/frontend/components/Domain/Recipe/RecipeTimeline.vue @@ -242,28 +242,28 @@ export default defineNuxtComponent({ alert.success(i18n.t("events.event-deleted") as string); }; - async function getRecipe(recipeId: string): Promise { - const { data } = await api.recipes.getOne(recipeId); - return data; + async function getRecipes(recipeIds: string[]): Promise { + const qf = "id IN [" + recipeIds.map(id => `"${id}"`).join(", ") + "]"; + const { data } = await api.recipes.getAll(1, -1, { queryFilter: qf }); + return data?.items || []; }; async function updateRecipes(events: RecipeTimelineEventOut[]) { - const recipePromises: Promise[] = []; - const seenRecipeIds: string[] = []; + const recipeIds: string[] = []; events.forEach((event) => { - if (seenRecipeIds.includes(event.recipeId) || recipes.has(event.recipeId)) { + if (recipeIds.includes(event.recipeId) || recipes.has(event.recipeId)) { return; } - seenRecipeIds.push(event.recipeId); - recipePromises.push(getRecipe(event.recipeId)); + recipeIds.push(event.recipeId); }); - const results = await Promise.all(recipePromises); + const results = await getRecipes(recipeIds); results.forEach((result) => { - if (result && result.id) { - recipes.set(result.id, result); + if (!result?.id) { + return; } + recipes.set(result.id, result); }); } diff --git a/frontend/components/Domain/Recipe/RecipeTimelineItem.vue b/frontend/components/Domain/Recipe/RecipeTimelineItem.vue index 1913ae36d..531d52241 100644 --- a/frontend/components/Domain/Recipe/RecipeTimelineItem.vue +++ b/frontend/components/Domain/Recipe/RecipeTimelineItem.vue @@ -53,6 +53,7 @@ - +