From 795b0ad71a3ba6d14291fe74663a171449242e4c Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 4 Apr 2025 01:27:47 -0400 Subject: [PATCH] Use server name for document title --- src/index.jsx | 2 -- src/scripts/libraryMenu.js | 28 ++++++++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/index.jsx b/src/index.jsx index 81627c4ad..66df6e33e 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -80,8 +80,6 @@ build: ${__JF_BUILD_VERSION__}`); // Update localization on user changes Events.on(ServerConnections, 'localusersignedin', globalize.updateCurrentCulture); Events.on(ServerConnections, 'localusersignedout', globalize.updateCurrentCulture); - // Localize the document title - document.title = globalize.translateHtml(document.title, 'core'); // Load the font styles loadFonts(); diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index d36f80585..5dc903828 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -687,6 +687,7 @@ let navDrawerInstance; let mainDrawerButton; let headerHomeButton; let currentDrawerType; +let documentTitle = 'Jellyfin'; let pageTitleElement; let headerBackButton; let headerUserButton; @@ -727,7 +728,7 @@ function setDefaultTitle () { pageTitleElement.innerHTML = ''; } - document.title = 'Jellyfin'; + document.title = documentTitle; } function setTitle (title) { @@ -753,7 +754,7 @@ function setTitle (title) { pageTitleElement.innerText = html || ''; } - document.title = title || 'Jellyfin'; + document.title = title || documentTitle; } function setTransparentMenu (transparent) { @@ -803,6 +804,18 @@ pageClassOn('pageshow', 'page', function (e) { updateLibraryNavLinks(page); }); +Events.on(ServerConnections, 'apiclientcreated', (e, newApiClient) => { + newApiClient + .getPublicSystemInfo() + .then(systemInfo => { + documentTitle = systemInfo.ServerName || documentTitle; + document.title = documentTitle; + }) + .catch(err => { + console.error('[LibraryMenu] failed to fetch system info', err); + }); +}); + Events.on(ServerConnections, 'localusersignedin', function (e, user) { const currentApiClient = ServerConnections.getApiClient(user.ServerId); @@ -829,18 +842,17 @@ Events.on(playbackManager, 'playerchange', updateCastIcon); loadNavDrawer(); const LibraryMenu = { - getTopParentId: getTopParentId, + getTopParentId, onHardwareMenuButtonClick: function () { toggleMainDrawer(); }, - setTabs: setTabs, - setDefaultTitle: setDefaultTitle, - setTitle: setTitle, - setTransparentMenu: setTransparentMenu + setTabs, + setDefaultTitle, + setTitle, + setTransparentMenu }; window.LibraryMenu = LibraryMenu; renderHeader(); export default LibraryMenu; -