summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui/classic.vue
diff options
context:
space:
mode:
authortaiy <53635909+taiyme@users.noreply.github.com>2024-02-16 16:17:09 +0900
committerGitHub <noreply@github.com>2024-02-16 16:17:09 +0900
commit860e8bb5d84c02276dba7631b30fcf06b434e98a (patch)
treed10966c19b91b52e447ba1d495eaf6fae276ace2 /packages/frontend/src/ui/classic.vue
parentfix(ci): publish docker image fails (3) (#13327) (diff)
downloadmisskey-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.vue18
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);