diff --git a/frontend/src/router.js b/frontend/src/router.js index f3b6cbe..9a6a05d 100644 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -54,4 +54,19 @@ const router = createRouter({ routes }) +const DEFAULT_TITLE = 'FabledCurator' + +// Keep the tab title in sync with the route on EVERY navigation. List routes set +// it from meta.title; detail routes (artist, series) have no meta.title, so they +// reset to the default here and then overwrite it with their own dynamic title +// (e.g. ArtistView sets " — FabledCurator"). Without this reset the +// previous view's dynamic title stuck around — an artist name showing on the +// Showcase tab, operator-flagged 2026-06-07. +router.afterEach((to) => { + if (typeof document === 'undefined') return + document.title = to.meta?.title + ? `${to.meta.title} — ${DEFAULT_TITLE}` + : DEFAULT_TITLE +}) + export default router