diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx index 46583d1f1f..52eba9b3bb 100644 --- a/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx @@ -72,10 +72,10 @@ export const useBanButtonViewModel = (props: RoomAdminToolsProps): BanButtonStat }; const msc4333Config = cli.msc4333Moderation.getModerationConfigFor(props.room.roomId); - if (msc4333Config) { - commonProps["children"] = [

Test

]; + if (msc4333Config && !isBanned) { + const managementRoom = cli.getRoom(msc4333Config.managementRoomId); + commonProps["children"] = [

You are banning this user using {managementRoom?.name} (via {msc4333Config.botUserId}).

]; } - console.log(msc4333Config); let finished: Promise<[success?: boolean, reason?: string, rooms?: Room[]]>; @@ -127,10 +127,18 @@ export const useBanButtonViewModel = (props: RoomAdminToolsProps): BanButtonStat } const fn = (roomId: string): Promise => { - if (isBanned) { - return cli.unban(roomId, member.userId); - } else { - return cli.ban(roomId, member.userId, reason || undefined); + try { + if (isBanned) { + return cli.unban(roomId, member.userId); + } else { + if (msc4333Config) { + return cli.sendMessage(msc4333Config.managementRoomId, msc4333Config.banCommand.render(member.userId, roomId, reason || "")) + } + return cli.ban(roomId, member.userId, reason || undefined); + } + } catch (e) { + console.error(e); + throw e; // re-throw } };