diff options
| author | taiy <53635909+taiyme@users.noreply.github.com> | 2024-02-16 16:17:09 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-16 16:17:09 +0900 |
| commit | 860e8bb5d84c02276dba7631b30fcf06b434e98a (patch) | |
| tree | d10966c19b91b52e447ba1d495eaf6fae276ace2 /packages/frontend/src/ui/classic.vue | |
| parent | fix(ci): publish docker image fails (3) (#13327) (diff) | |
| download | misskey-860e8bb5d84c02276dba7631b30fcf06b434e98a.tar.gz misskey-860e8bb5d84c02276dba7631b30fcf06b434e98a.tar.bz2 misskey-860e8bb5d84c02276dba7631b30fcf06b434e98a.zip | |
fix(frontend/pageMetadata): ページタイトルが更新されない問題 (#13289)
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/ui/classic.vue')
| -rw-r--r-- | packages/frontend/src/ui/classic.vue | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/packages/frontend/src/ui/classic.vue b/packages/frontend/src/ui/classic.vue index 6e28a86c29..b833e9f6be 100644 --- a/packages/frontend/src/ui/classic.vue +++ b/packages/frontend/src/ui/classic.vue @@ -52,7 +52,7 @@ import XCommon from './_common_/common.vue'; import { instanceName } from '@/config.js'; import { StickySidebar } from '@/scripts/sticky-sidebar.js'; import * as os from '@/os.js'; -import { PageMetadata, provideMetadataReceiver } from '@/scripts/page-metadata.js'; +import { PageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; import { defaultStore } from '@/store.js'; import { i18n } from '@/i18n.js'; import { miLocalStorage } from '@/local-storage.js'; @@ -60,11 +60,13 @@ import { mainRouter } from '@/router/main.js'; const XHeaderMenu = defineAsyncComponent(() => import('./classic.header.vue')); const XWidgets = defineAsyncComponent(() => import('./universal.widgets.vue')); +const isRoot = computed(() => mainRouter.currentRoute.value.name === 'index'); + const DESKTOP_THRESHOLD = 1100; const isDesktop = ref(window.innerWidth >= DESKTOP_THRESHOLD); -const pageMetadata = ref<null | PageMetadata>(); +const pageMetadata = ref<null | PageMetadata>(null); const widgetsShowing = ref(false); const fullView = ref(false); const globalHeaderHeight = ref(0); @@ -75,12 +77,18 @@ const widgetsLeft = ref<HTMLElement>(); const widgetsRight = ref<HTMLElement>(); provide('router', mainRouter); -provideMetadataReceiver((info) => { - pageMetadata.value = info.value; +provideMetadataReceiver((metadataGetter) => { + const info = metadataGetter(); + pageMetadata.value = info; if (pageMetadata.value) { - document.title = `${pageMetadata.value.title} | ${instanceName}`; + if (isRoot.value && pageMetadata.value.title === instanceName) { + document.title = pageMetadata.value.title; + } else { + document.title = `${pageMetadata.value.title} | ${instanceName}`; + } } }); +provideReactiveMetadata(pageMetadata); provide('shouldHeaderThin', showMenuOnTop.value); provide('forceSpacerMin', true); |