diff --git a/frontend/layouts/default.vue b/frontend/layouts/default.vue index 851da13..0d85895 100644 --- a/frontend/layouts/default.vue +++ b/frontend/layouts/default.vue @@ -134,6 +134,28 @@ const currentProjectId = computed(() => { const timerStore = useTimerStore() +const baseTitle = ref('Lesstime') + +useHead({ + titleTemplate: (title) => { + baseTitle.value = title || 'Lesstime' + return title || 'Lesstime' + }, +}) + +watch( + [() => timerStore.elapsedFormatted, () => timerStore.isRunning, () => timerStore.activeEntry?.title], + ([elapsed, running, label]) => { + if (import.meta.server) return + const base = baseTitle.value + if (running) { + document.title = label ? `${base} | ${elapsed} ยท ${label}` : `${base} | ${elapsed}` + } else { + document.title = base + } + }, +) + onMounted(() => { timerStore.fetchActive() })