From 6fdb004d480049b4dbef4201c0b10f56f08979a5 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:03:30 +0900 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E9=83=A8router=E3=81=A7=E9=81=B7?= =?UTF-8?q?=E7=A7=BB=E3=81=97=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AB=E3=81=AF?= =?UTF-8?q?=E6=AD=A3=E8=A6=8F=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB=E8=BB=A2?= =?UTF-8?q?=E9=80=81=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/pages/embed/clip.vue | 14 +++++++++----- packages/frontend/src/pages/embed/note.vue | 14 +++++++++----- .../frontend/src/pages/embed/user-timeline.vue | 14 +++++++++----- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/packages/frontend/src/pages/embed/clip.vue b/packages/frontend/src/pages/embed/clip.vue index 95f299d441..0038a052a9 100644 --- a/packages/frontend/src/pages/embed/clip.vue +++ b/packages/frontend/src/pages/embed/clip.vue @@ -40,7 +40,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script setup lang="ts"> -import { ref, computed, shallowRef, inject } from 'vue'; +import { ref, computed, shallowRef, inject, onActivated } from 'vue'; import * as Misskey from 'misskey-js'; import MkNotes from '@/components/MkNotes.vue'; import XNotFound from '@/pages/not-found.vue'; @@ -60,12 +60,16 @@ const props = defineProps<{ enableAutoLoad?: string; }>(); -const inEmbedPage = inject<boolean>('EMBED_PAGE', false); +function redirectIfNotEmbedPage() { + const inEmbedPage = inject<boolean>('EMBED_PAGE', false); -if (!inEmbedPage) { - const router = useRouter(); - router.replace(`/clips/${props.clipId}`); + if (!inEmbedPage) { + const router = useRouter(); + router.replace(`/clips/${props.clipId}`); + } } +redirectIfNotEmbedPage(); +onActivated(redirectIfNotEmbedPage); // デフォルト: true const normalizedShowHeader = computed(() => props.showHeader !== 'false'); diff --git a/packages/frontend/src/pages/embed/note.vue b/packages/frontend/src/pages/embed/note.vue index 40befb438e..928494adc2 100644 --- a/packages/frontend/src/pages/embed/note.vue +++ b/packages/frontend/src/pages/embed/note.vue @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script setup lang="ts"> -import { ref, provide, inject } from 'vue'; +import { ref, provide, inject, onActivated } from 'vue'; import * as Misskey from 'misskey-js'; import MkNoteDetailed from '@/components/MkNoteDetailed.vue'; import XNotFound from '@/pages/not-found.vue'; @@ -24,12 +24,16 @@ const props = defineProps<{ noteId: string; }>(); -const inEmbedPage = inject<boolean>('EMBED_PAGE', false); +function redirectIfNotEmbedPage() { + const inEmbedPage = inject<boolean>('EMBED_PAGE', false); -if (!inEmbedPage) { - const router = useRouter(); - router.replace(`/notes/${props.noteId}`); + if (!inEmbedPage) { + const router = useRouter(); + router.replace(`/notes/${props.noteId}`); + } } +redirectIfNotEmbedPage(); +onActivated(redirectIfNotEmbedPage); provide('EMBED_ORIGINAL_ENTITY_URL', `${url}/notes/${props.noteId}`); diff --git a/packages/frontend/src/pages/embed/user-timeline.vue b/packages/frontend/src/pages/embed/user-timeline.vue index 268e668cfa..7faa4a6fbb 100644 --- a/packages/frontend/src/pages/embed/user-timeline.vue +++ b/packages/frontend/src/pages/embed/user-timeline.vue @@ -46,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script setup lang="ts"> -import { ref, computed, shallowRef, inject } from 'vue'; +import { ref, computed, shallowRef, inject, onActivated } from 'vue'; import * as Misskey from 'misskey-js'; import MkNotes from '@/components/MkNotes.vue'; import XNotFound from '@/pages/not-found.vue'; @@ -66,12 +66,16 @@ const props = defineProps<{ enableAutoLoad?: string; }>(); -const inEmbedPage = inject<boolean>('EMBED_PAGE', false); +function redirectIfNotEmbedPage() { + const inEmbedPage = inject<boolean>('EMBED_PAGE', false); -if (!inEmbedPage) { - const router = useRouter(); - router.replace(`/@${props.username}`); + if (!inEmbedPage) { + const router = useRouter(); + router.replace(`/@${props.username}`); + } } +redirectIfNotEmbedPage(); +onActivated(redirectIfNotEmbedPage); // デフォルト: true const normalizedShowHeader = computed(() => props.showHeader !== 'false');