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/components/MkPageWindow.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/components/MkPageWindow.vue')
| -rw-r--r-- | packages/frontend/src/components/MkPageWindow.vue | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue index 338403df14..aa4509b14b 100644 --- a/packages/frontend/src/components/MkPageWindow.vue +++ b/packages/frontend/src/components/MkPageWindow.vue @@ -16,9 +16,9 @@ SPDX-License-Identifier: AGPL-3.0-only @closed="$emit('closed')" > <template #header> - <template v-if="pageMetadata?.value"> - <i v-if="pageMetadata.value.icon" :class="pageMetadata.value.icon" style="margin-right: 0.5em;"></i> - <span>{{ pageMetadata.value.title }}</span> + <template v-if="pageMetadata"> + <i v-if="pageMetadata.icon" :class="pageMetadata.icon" style="margin-right: 0.5em;"></i> + <span>{{ pageMetadata.title }}</span> </template> </template> @@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> -import { computed, ComputedRef, onMounted, onUnmounted, provide, ref, shallowRef } from 'vue'; +import { computed, onMounted, onUnmounted, provide, ref, shallowRef } from 'vue'; import RouterView from '@/components/global/RouterView.vue'; import MkWindow from '@/components/MkWindow.vue'; import { popout as _popout } from '@/scripts/popout.js'; @@ -37,7 +37,7 @@ import copyToClipboard from '@/scripts/copy-to-clipboard.js'; import { url } from '@/config.js'; import { useScrollPositionManager } from '@/nirax.js'; import { i18n } from '@/i18n.js'; -import { PageMetadata, provideMetadataReceiver } from '@/scripts/page-metadata.js'; +import { PageMetadata, provideMetadataReceiver, provideReactiveMetadata } from '@/scripts/page-metadata.js'; import { openingWindowsCount } from '@/os.js'; import { claimAchievement } from '@/scripts/achievements.js'; import { getScrollContainer } from '@/scripts/scroll.js'; @@ -56,7 +56,7 @@ const routerFactory = useRouterFactory(); const windowRouter = routerFactory(props.initialPath); const contents = shallowRef<HTMLElement | null>(null); -const pageMetadata = ref<null | ComputedRef<PageMetadata>>(); +const pageMetadata = ref<null | PageMetadata>(null); const windowEl = shallowRef<InstanceType<typeof MkWindow>>(); const history = ref<{ path: string; key: any; }[]>([{ path: windowRouter.getCurrentPath(), @@ -101,9 +101,11 @@ windowRouter.addListener('replace', ctx => { windowRouter.init(); provide('router', windowRouter); -provideMetadataReceiver((info) => { +provideMetadataReceiver((metadataGetter) => { + const info = metadataGetter(); pageMetadata.value = info; }); +provideReactiveMetadata(pageMetadata); provide('shouldOmitHeaderTitle', true); provide('shouldHeaderThin', true); provide('forceSpacerMin', true); |