From a46f3958fed0c0dcecdeea25ba22cf172f1bab4e Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Sun, 17 Aug 2025 09:59:22 +0200 Subject: [PATCH] added titles --- vue3/src/apps/tandoor/Tandoor.vue | 23 +++++++- vue3/src/apps/tandoor/main.ts | 54 +++++++++---------- vue3/src/components/display/RecipeView.vue | 2 +- .../composables/useModelEditorFunctions.ts | 5 ++ vue3/src/pages/ModelListPage.vue | 4 ++ vue3/src/pages/RecipeViewPage.vue | 4 +- 6 files changed, 61 insertions(+), 31 deletions(-) diff --git a/vue3/src/apps/tandoor/Tandoor.vue b/vue3/src/apps/tandoor/Tandoor.vue index e572dc182..1dba5e162 100644 --- a/vue3/src/apps/tandoor/Tandoor.vue +++ b/vue3/src/apps/tandoor/Tandoor.vue @@ -137,15 +137,21 @@ import MessageListDialog from "@/components/dialogs/MessageListDialog.vue"; import {useUserPreferenceStore} from "@/stores/UserPreferenceStore"; import NavigationDrawerContextMenu from "@/components/display/NavigationDrawerContextMenu.vue"; import {useDjangoUrls} from "@/composables/useDjangoUrls"; -import {onMounted} from "vue"; +import {nextTick, onMounted} from "vue"; import {isSpaceAboveLimit} from "@/utils/logic_utils"; -import {useMediaQuery} from "@vueuse/core"; +import {useMediaQuery, useTitle} from "@vueuse/core"; import HelpDialog from "@/components/dialogs/HelpDialog.vue"; import {NAVIGATION_DRAWER} from "@/utils/navigation.ts"; import {useNavigation} from "@/composables/useNavigation.ts"; +import {useRouter} from "vue-router"; +import {useI18n} from "vue-i18n"; const {lgAndUp} = useDisplay() const {getDjangoUrl} = useDjangoUrls() +const {t} = useI18n() + +const title = useTitle() +const router = useRouter() const isPrintMode = useMediaQuery('print') @@ -153,6 +159,19 @@ onMounted(() => { useUserPreferenceStore() }) +/** + * global title update handler, might be overridden by page specific handlers + */ +router.afterEach((to, from) => { + nextTick(() => { + if (to.meta.title) { + title.value = t(to.meta.title) + } else { + title.value = 'Tandoor' + } + }) +}) +