+
{{ errorMessage }}
+
{{ t('common.loading') }}
+
{
const dateFromRoute = typeof route.params.date === 'string' ? route.params.date : ''
@@ -28,12 +32,16 @@ const mealTypeLabel = (mealType: MealType): string => t(`mealTypes.${mealType}`)
const reloadDay = async (date: string) => {
selectedDate.value = date
diaryStore.ensureCurrentDay(date)
+ errorMessage.value = ''
isWorking.value = true
try {
if (mealsStore.list.length <= 0) {
await mealsStore.loadMeals()
}
await diaryStore.loadDay(date)
+ } catch (error) {
+ errorMessage.value = toErrorMessage(error, t('ux.errors.loadDay'))
+ ui.error(errorMessage.value)
} finally {
isWorking.value = false
}
@@ -55,11 +63,19 @@ const onDateChange = async () => {
}
const onSelectMeal = async (mealType: MealType, mealId: number | null) => {
- if (mealId === null) {
- await diaryStore.unsetMealForType(selectedDate.value, mealType)
- return
+ try {
+ errorMessage.value = ''
+ if (mealId === null) {
+ await diaryStore.unsetMealForType(selectedDate.value, mealType)
+ ui.success(t('ux.toast.updated'))
+ return
+ }
+ await diaryStore.setMealForType(selectedDate.value, mealType, mealId)
+ ui.success(t('ux.toast.updated'))
+ } catch (error) {
+ errorMessage.value = toErrorMessage(error, t('ux.errors.updateDay'))
+ ui.error(errorMessage.value)
}
- await diaryStore.setMealForType(selectedDate.value, mealType, mealId)
}
const dayMeals = computed(() => diaryStore.mealsByType)
@@ -75,7 +91,8 @@ const dayTotals = computed(() => diaryStore.computedTotals)
-
{{ t('today.loadingDay') }}
+
{{ errorMessage }}
+
{{ t('today.loadingDay') }}