From 193b8236887f7e2b87a68bd600e60fcddb6045d1 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Mon, 22 Dec 2025 18:45:52 -0600 Subject: [PATCH] feat: Replace number inputs with new v-number-input compontent (#6767) --- .../components/Domain/QueryFilterBuilder.vue | 6 +- .../Domain/Recipe/RecipeIngredientEditor.vue | 9 ++- .../Domain/Recipe/RecipeNutrition.vue | 9 ++- .../RecipePageParts/RecipePageInfoEditor.vue | 53 +++------------- .../Domain/Recipe/RecipeScaleEditButton.vue | 8 +-- .../ShoppingList/ShoppingListItemEditor.vue | 30 ++++++++- frontend/components/global/InputQuantity.vue | 61 ------------------- frontend/package.json | 2 +- .../g/[groupSlug]/recipes/finder/index.vue | 16 +++-- frontend/pages/household/mealplan/planner.vue | 6 +- frontend/types/components.d.ts | 2 - frontend/yarn.lock | 12 ++-- 12 files changed, 80 insertions(+), 134 deletions(-) delete mode 100644 frontend/components/global/InputQuantity.vue diff --git a/frontend/components/Domain/QueryFilterBuilder.vue b/frontend/components/Domain/QueryFilterBuilder.vue index 8bdb2b948..85b00ad25 100644 --- a/frontend/components/Domain/QueryFilterBuilder.vue +++ b/frontend/components/Domain/QueryFilterBuilder.vue @@ -144,11 +144,13 @@ variant="underlined" @update:model-value="setFieldValue(field, index, $event)" /> - - @@ -38,7 +41,7 @@ {{ $globals.icons.arrowUpDown }} - + - diff --git a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInfoEditor.vue b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInfoEditor.vue index 31a4cda0a..c502180e7 100644 --- a/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInfoEditor.vue +++ b/frontend/components/Domain/Recipe/RecipePage/RecipePageParts/RecipePageInfoEditor.vue @@ -11,27 +11,27 @@ - - @@ -85,37 +85,4 @@ import type { NoUndefinedField } from "~/lib/api/types/non-generated"; import type { Recipe } from "~/lib/api/types/recipe"; const recipe = defineModel>({ required: true }); - -const recipeServings = computed({ - get() { - return recipe.value.recipeServings; - }, - set(val) { - validateInput(val.toString(), "recipeServings"); - }, -}); - -const recipeYieldQuantity = computed({ - get() { - return recipe.value.recipeYieldQuantity; - }, - set(val) { - validateInput(val.toString(), "recipeYieldQuantity"); - }, -}); - -function validateInput(value: string | null, property: "recipeServings" | "recipeYieldQuantity") { - if (!value) { - recipe.value[property] = 0; - return; - } - - const number = parseFloat(value.replace(/[^0-9.]/g, "")); - if (isNaN(number) || number <= 0) { - recipe.value[property] = 0; - return; - } - - recipe.value[property] = number; -} diff --git a/frontend/components/Domain/Recipe/RecipeScaleEditButton.vue b/frontend/components/Domain/Recipe/RecipeScaleEditButton.vue index 3f237c2f6..1ec117815 100644 --- a/frontend/components/Domain/Recipe/RecipeScaleEditButton.vue +++ b/frontend/components/Domain/Recipe/RecipeScaleEditButton.vue @@ -65,13 +65,13 @@
-
- +
props.modelValue.quantity, + () => { + if (!props.modelValue.quantity) { + listItem.value.quantity = 0; + } + }, + ); + watch( () => props.modelValue.food, (newFood) => { @@ -221,3 +242,10 @@ export default defineNuxtComponent({ }, }); + + diff --git a/frontend/components/global/InputQuantity.vue b/frontend/components/global/InputQuantity.vue deleted file mode 100644 index ab7e6cd45..000000000 --- a/frontend/components/global/InputQuantity.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/frontend/package.json b/frontend/package.json index cf3760b16..671b8b11d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -34,7 +34,7 @@ "vue-advanced-cropper": "^2.8.9", "vue-draggable-plus": "^0.6.0", "vuetify": "^3.9.7", - "vuetify-nuxt-module": "^0.18.8" + "vuetify-nuxt-module": "^0.18.9" }, "devDependencies": { "@nuxt/eslint": "^1.2.0", diff --git a/frontend/pages/g/[groupSlug]/recipes/finder/index.vue b/frontend/pages/g/[groupSlug]/recipes/finder/index.vue index 2e208d008..39df6cccd 100644 --- a/frontend/pages/g/[groupSlug]/recipes/finder/index.vue +++ b/frontend/pages/g/[groupSlug]/recipes/finder/index.vue @@ -134,18 +134,22 @@
- - diff --git a/frontend/pages/household/mealplan/planner.vue b/frontend/pages/household/mealplan/planner.vue index ddf675bac..58d91bbc1 100644 --- a/frontend/pages/household/mealplan/planner.vue +++ b/frontend/pages/household/mealplan/planner.vue @@ -30,9 +30,11 @@ /> -