diff --git a/locales/index.d.ts b/locales/index.d.ts index 8e87487cca..d7b1c3b9b0 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -5476,6 +5476,10 @@ export interface Locale extends ILocale { * このサーバー、またはこのアカウントでチャットは有効化されていません。 */ "chatNotAvailableForThisAccountOrServer": string; + /** + * 相手のアカウントでチャット機能が使えない状態になっています。 + */ + "chatNotAvailableInOtherAccount": string; /** * このユーザーとのチャットを開始できません */ diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 9198f04c05..7ab6c24d82 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1366,6 +1366,7 @@ _chat: muteThisRoom: "このルームをミュート" deleteRoom: "ルームを削除" chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは有効化されていません。" + chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えない状態になっています。" cannotChatWithTheUser: "このユーザーとのチャットを開始できません" cannotChatWithTheUser_description: "チャットが使えない状態になっているか、相手がチャットを開放していません。" chatWithThisUser: "チャットする" diff --git a/packages/frontend/src/pages/chat/room.vue b/packages/frontend/src/pages/chat/room.vue index 5938fd2688..4cb5d0677a 100644 --- a/packages/frontend/src/pages/chat/room.vue +++ b/packages/frontend/src/pages/chat/room.vue @@ -41,6 +41,12 @@ SPDX-License-Identifier: AGPL-3.0-only <XMessage v-for="message in messages.toReversed()" :key="message.id" :message="message"/> </TransitionGroup> </div> + + <div v-if="user && !user.canChat"> + <MkInfo warn>{{ i18n.ts._chat.chatNotAvailableInOtherAccount }}</MkInfo> + </div> + + <MkInfo v-if="!$i.policies.canChat" warn>{{ i18n.ts._chat.chatNotAvailableForThisAccountOrServer }}</MkInfo> </MkSpacer> <MkSpacer v-else-if="tab === 'search'" :contentMax="700"> @@ -93,6 +99,7 @@ import { prefer } from '@/preferences.js'; import MkButton from '@/components/MkButton.vue'; import { useRouter } from '@/router.js'; import { useMutationObserver } from '@/use/use-mutation-observer.js'; +import MkInfo from '@/components/MkInfo.vue'; const $i = ensureSignin(); const router = useRouter(); diff --git a/packages/frontend/src/utility/get-user-menu.ts b/packages/frontend/src/utility/get-user-menu.ts index 105e15a20f..108b07cc17 100644 --- a/packages/frontend/src/utility/get-user-menu.ts +++ b/packages/frontend/src/utility/get-user-menu.ts @@ -364,7 +364,7 @@ export function getUserMenu(user: Misskey.entities.UserDetailed, router: Router }, }); - if ($i.policies.canChat) { + if ($i.policies.canChat && user.canChat) { menuItems.push({ type: 'link', icon: 'ti ti-messages',