From 7ee1be63b3779e0bd29c9ddc41486b8fe714090e Mon Sep 17 00:00:00 2001 From: matthieu Date: Tue, 10 Mar 2026 23:30:10 +0100 Subject: [PATCH] feat(time-tracking) : show real-time timer in browser tab title Co-Authored-By: Claude Opus 4.6 --- frontend/layouts/default.vue | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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() })