From d22e0b89743eac8446b74b9ded920185ad3a950a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20Miku=C5=A1?= Date: Fri, 20 Dec 2024 18:51:29 +0100 Subject: [PATCH] Add filter by missing bar shelf ingredients --- src/components/Cocktail/CocktailIndex.vue | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/components/Cocktail/CocktailIndex.vue b/src/components/Cocktail/CocktailIndex.vue index dd50aaac..3402afdb 100644 --- a/src/components/Cocktail/CocktailIndex.vue +++ b/src/components/Cocktail/CocktailIndex.vue @@ -44,7 +44,8 @@ - + + @@ -186,6 +187,11 @@ export default { { name: '2 ' + this.$t('ingredient.ingredients'), active: false, id: '2' }, { name: '>= 3 ' + this.$t('ingredient.ingredients'), active: false, id: '3' }, ], + missing_bar_ingredients: [ + { name: '1 ' + this.$t('ingredient.ingredients'), active: false, id: '1' }, + { name: '2 ' + this.$t('ingredient.ingredients'), active: false, id: '2' }, + { name: '>= 3 ' + this.$t('ingredient.ingredients'), active: false, id: '3' }, + ], tags: [], glasses: [], methods: [], @@ -209,6 +215,7 @@ export default { abv: null, total_ingredients: null, missing_ingredients: null, + missing_bar_ingredients: null, user_shelves: [], users: [], ignore_ingredients: [], @@ -323,6 +330,15 @@ export default { } }) }, + refineMissingBarIngredients() { + return this.availableRefinements.missing_bar_ingredients.map(m => { + return { + id: m.id, + value: m.id, + name: m.name + } + }) + }, refineUsers() { return this.availableRefinements.members.map(m => { return { @@ -457,6 +473,7 @@ export default { this.activeFilters.is_public = state.filter && state.filter.is_public ? state.filter.is_public : null this.activeFilters.total_ingredients = state.filter && state.filter.total_ingredients ? state.filter.total_ingredients : null this.activeFilters.missing_ingredients = state.filter && state.filter.missing_ingredients ? state.filter.missing_ingredients : null + this.activeFilters.missing_bar_ingredients = state.filter && state.filter.missing_bar_ingredients ? state.filter.missing_bar_ingredients : null this.activeFilters.ignore_ingredients = state.filter && state.filter.ignore_ingredients ? String(state.filter.ignore_ingredients).split(',') : [] this.activeFilters.specific_ingredients = state.filter && state.filter.specific_ingredients ? String(state.filter.specific_ingredients).split(',') : [] this.activeFilters.id = state.filter && state.filter.id ? String(state.filter.id).split(',') : [] @@ -498,6 +515,7 @@ export default { average_rating_min: this.activeFilters.average_rating ? this.activeFilters.average_rating : null, total_ingredients: this.activeFilters.total_ingredients ? this.activeFilters.total_ingredients : null, missing_ingredients: this.activeFilters.missing_ingredients ? this.activeFilters.missing_ingredients : null, + missing_bar_ingredients: this.activeFilters.missing_bar_ingredients ? this.activeFilters.missing_bar_ingredients : null, ignore_ingredients: this.activeFilters.ignore_ingredients.length > 0 ? this.activeFilters.ignore_ingredients.join(',') : null, tag_id: this.activeFilters.tags.length > 0 ? this.activeFilters.tags.join(',') : null, glass_id: this.activeFilters.glasses.length > 0 ? this.activeFilters.glasses.join(',') : null, @@ -570,6 +588,8 @@ export default { ingredient_id: [], ingredient_substitute_id: [], id: [], + missing_ingredients: null, + missing_bar_ingredients: null, } this.updateRouterPath()