diff --git a/packages/client/src/components/MkInstanceTicker.vue b/packages/client/src/components/MkInstanceTicker.vue index e7cd9547b..625cf86f2 100644 --- a/packages/client/src/components/MkInstanceTicker.vue +++ b/packages/client/src/components/MkInstanceTicker.vue @@ -4,7 +4,6 @@ v-tooltip="capitalize(instance.softwareName)" ref="ticker" :style="bg" - @click.stop="os.pageWindow(instanceInfoUrl)" > {{ instance.name }} @@ -15,7 +14,6 @@ import { instanceName } from "@/config"; import { instance as Instance } from "@/instance"; import { getProxiedImageUrlNullable } from "@/scripts/media-proxy"; -import * as os from "@/os"; const props = defineProps<{ instance?: { diff --git a/packages/client/src/components/MkNoteHeader.vue b/packages/client/src/components/MkNoteHeader.vue index 0271c7ab0..877fefa58 100644 --- a/packages/client/src/components/MkNoteHeader.vue +++ b/packages/client/src/components/MkNoteHeader.vue @@ -41,6 +41,7 @@ class="ticker" :instance="note.user.instance" :host="note.user.host" + @click.stop="openServerInfo" /> @@ -56,10 +57,12 @@ import MkInstanceTicker from "@/components/MkInstanceTicker.vue"; import { notePage } from "@/filters/note"; import { userPage } from "@/filters/user"; import { i18n } from "@/i18n"; +import { pageWindow } from "@/os"; const props = defineProps<{ note: misskey.entities.Note; pinned?: boolean; + canOpenServerInfo?: boolean; }>(); let note = $ref(props.note); @@ -67,6 +70,13 @@ let note = $ref(props.note); const showTicker = defaultStore.state.instanceTicker === "always" || (defaultStore.state.instanceTicker === "remote" && note.user.instance); + +function openServerInfo() { + if (props.canOpenServerInfo && !defaultStore.state.openServerInfo || !note.value.user.instance) return; + const instanceInfoUrl = + props.host == null ? "/about" : `/instance-info/${note.value.user.instance}`; + pageWindow(instanceInfoUrl); +}