diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d0138e7e4..72d6d665a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ repos: exclude: ^tests/data/ - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.9.2 + rev: v0.9.3 hooks: - id: ruff - id: ruff-format diff --git a/docs/docs/documentation/getting-started/features.md b/docs/docs/documentation/getting-started/features.md index 8e4aa6258..a068ceea5 100644 --- a/docs/docs/documentation/getting-started/features.md +++ b/docs/docs/documentation/getting-started/features.md @@ -139,6 +139,9 @@ Below is a list of all valid merge fields: - ${id} - ${slug} - ${url} +- ${servings} +- ${yieldQuantity} +- ${yieldText} To add, modify, or delete Recipe Actions, visit the Data Management page (more on that below). diff --git a/frontend/components/Domain/Recipe/RecipeContextMenu.vue b/frontend/components/Domain/Recipe/RecipeContextMenu.vue index a0a47832c..b6165feff 100644 --- a/frontend/components/Domain/Recipe/RecipeContextMenu.vue +++ b/frontend/components/Domain/Recipe/RecipeContextMenu.vue @@ -371,7 +371,7 @@ export default defineComponent({ const groupRecipeActionsStore = useGroupRecipeActions(); async function executeRecipeAction(action: GroupRecipeActionOut) { - const response = await groupRecipeActionsStore.execute(action, props.recipe); + const response = await groupRecipeActionsStore.execute(action, props.recipe, props.recipeScale); if (action.actionType === "post") { if (!response?.error) { diff --git a/frontend/composables/use-group-recipe-actions.ts b/frontend/composables/use-group-recipe-actions.ts index 2701c0fe4..d1c5171e7 100644 --- a/frontend/composables/use-group-recipe-actions.ts +++ b/frontend/composables/use-group-recipe-actions.ts @@ -46,17 +46,23 @@ export const useGroupRecipeActions = function ( return groupRecipeActions.value; }); - function parseRecipeActionUrl(url: string, recipe: Recipe): string { + function parseRecipeActionUrl(url: string, recipe: Recipe, recipeScale: number): string { + const recipeServings = (recipe.recipeServings || 1) * recipeScale; + const recipeYieldQuantity = (recipe.recipeYieldQuantity || 1) * recipeScale; + /* eslint-disable no-template-curly-in-string */ return url .replace("${url}", window.location.href) .replace("${id}", recipe.id || "") .replace("${slug}", recipe.slug || "") + .replace("${servings}", recipeServings.toString()) + .replace("${yieldQuantity}", recipeYieldQuantity.toString()) + .replace("${yieldText}", recipe.recipeYield || "") /* eslint-enable no-template-curly-in-string */ }; - async function execute(action: GroupRecipeActionOut, recipe: Recipe): Promise> { - const url = parseRecipeActionUrl(action.url, recipe); + async function execute(action: GroupRecipeActionOut, recipe: Recipe, recipeScale: number): Promise> { + const url = parseRecipeActionUrl(action.url, recipe, recipeScale); switch (action.actionType) { case "link": diff --git a/frontend/lang/messages/el-GR.json b/frontend/lang/messages/el-GR.json index 102378d3a..bae1ba878 100644 --- a/frontend/lang/messages/el-GR.json +++ b/frontend/lang/messages/el-GR.json @@ -174,7 +174,7 @@ "wednesday": "Τετάρτη", "yes": "Ναι", "foods": "Τρόφιμα", - "units": "Μονάδες", + "units": "Μονάδες μέτρησης", "back": "Πίσω", "next": "Επόμενο", "start": "Εναρξη",