diff --git a/src/components/RandomConfigurationPanel.vue b/src/components/RandomConfigurationPanel.vue index d6cdea1..ddc1663 100644 --- a/src/components/RandomConfigurationPanel.vue +++ b/src/components/RandomConfigurationPanel.vue @@ -49,6 +49,14 @@ const tagsLabels = computed(() => { return labels; }); +function priceToIndex(price: string | undefined, defaultValue: string) { + if (price) { + return Number(Object.keys(priceTicks).find((key) => priceTicks[key] == price)); + } else { + return Number(Object.keys(priceTicks).find((key) => priceTicks[key] == defaultValue)); + } +} + function mapValuesToModel(values: Object): SearchPreferences { return { priceRangeEnabled: values["priceRangeEnabled"], @@ -87,10 +95,8 @@ const { errors, values, handleSubmit, defineField } = useForm({ includeRestaurantsEnabled: searchPreferences.value?.includeRestaurantsEnabled, excludeRestaurantsEnabled: searchPreferences.value?.excludeRestaurantsEnabled, priceRange: [ - Number(Object.keys(priceTicks).find((key) => priceTicks[key] == searchPreferences.value?.lowerPriceBound ?? "€")), - Number( - Object.keys(priceTicks).find((key) => priceTicks[key] == searchPreferences.value?.upperPriceBound ?? "€€€€") - ), + priceToIndex(searchPreferences.value?.lowerPriceBound, "€"), + priceToIndex(searchPreferences.value?.upperPriceBound, "€€€€"), ], includedTags: searchPreferences.value?.includedTags, excludedTags: searchPreferences.value?.excludedTags, @@ -227,7 +233,6 @@ const onSubmit = handleSubmit(async (values) => {
- {{ errors }} {{ filteredRestaurants }} filtered restaurants