From c1ba8dcd8601bb406f6495dad056a4c52cba27d4 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sat, 6 Nov 2021 14:32:55 -0800 Subject: [PATCH] feature/improve-parser-ux (#789) * cleanup console.logs * default to panels open * feat(frontend): :sparkles: add ingredient on enter * feat(frontend): :sparkles: automatically trigger parser on navigation * feat(frontend): :sparkles: prompt user before leaving when in editor * add deep copy utility * improve flow of parser * add tooltip and match disable with disableAmount * force admin users to have advanced access Co-authored-by: hay-kot --- frontend/api/class-interfaces/recipes.ts | 7 +- .../Domain/Recipe/RecipeIngredientEditor.vue | 25 +- .../Recipe/RecipeIngredientParserMenu.vue | 52 --- frontend/components/global/BaseDialog.vue | 9 +- frontend/composables/use-utils.ts | 46 +++ frontend/package.json | 6 +- frontend/pages/recipe/_slug/index.vue | 58 ++- .../pages/recipe/_slug/ingredient-parser.vue | 51 ++- frontend/yarn.lock | 347 +++++++++++++++--- mealie/db/models/users/users.py | 1 + 10 files changed, 462 insertions(+), 140 deletions(-) delete mode 100644 frontend/components/Domain/Recipe/RecipeIngredientParserMenu.vue diff --git a/frontend/api/class-interfaces/recipes.ts b/frontend/api/class-interfaces/recipes.ts index 2aa3525731a0..8eb59738970e 100644 --- a/frontend/api/class-interfaces/recipes.ts +++ b/frontend/api/class-interfaces/recipes.ts @@ -46,14 +46,15 @@ export interface Unit { export interface Food { name: string; - description: string; + description?: string; } export interface Ingredient { + referenceId: string; title: string; note: string; - unit: Unit; - food: Food; + unit: Unit | null; + food: Food | null; disableAmount: boolean; quantity: number; } diff --git a/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue b/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue index ef09e8d2778b..b925cf429408 100644 --- a/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue +++ b/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue @@ -38,7 +38,11 @@ item-text="name" class="mx-1" placeholder="Choose Unit" + @keyup.enter="handleUnitEnter" > +