From d4e0f19f957f341df9e1eb2bb74ef3a99b9e4f15 Mon Sep 17 00:00:00 2001 From: Lea Date: Fri, 1 Sep 2023 11:53:37 +0200 Subject: [PATCH] feat: admin panel link for system message user --- src/lib/ContextMenus.tsx | 55 ++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/lib/ContextMenus.tsx b/src/lib/ContextMenus.tsx index 69e41584..616c93d1 100644 --- a/src/lib/ContextMenus.tsx +++ b/src/lib/ContextMenus.tsx @@ -2,32 +2,29 @@ import { ChevronRight, Trash } from "@styled-icons/boxicons-regular"; import { Cog, UserVoice } from "@styled-icons/boxicons-solid"; import { isFirefox } from "react-device-detect"; import { useHistory } from "react-router-dom"; -import { - Channel, - Message, - Server, - User, - API, - Permission, - UserPermission, - Member, -} from "revolt.js"; +import { Channel, Message, Server, User, API, Permission, UserPermission, Member } from "revolt.js"; -import { - ContextMenuWithData, - MenuItem, - openContextMenu, -} from "preact-context-menu"; + + +import { ContextMenuWithData, MenuItem, openContextMenu } from "preact-context-menu"; import { Text } from "preact-i18n"; + + import { Column, IconButton, LineDivider } from "@revoltchat/ui"; + + import { useApplicationState } from "../mobx/State"; import { QueuedMessage } from "../mobx/stores/MessageQueue"; import { NotificationState } from "../mobx/stores/NotificationOptions"; + + import CMNotifications from "./contextmenu/CMNotifications"; + + import Tooltip from "../components/common/Tooltip"; import UserStatus from "../components/common/user/UserStatus"; import { useSession } from "../controllers/client/ClientController"; @@ -36,6 +33,7 @@ import { modalController } from "../controllers/modals/ModalController"; import { internalEmit } from "./eventEmitter"; import { getRenderer } from "./renderer/Singleton"; + interface ContextMenuData { user?: string; server?: string; @@ -53,6 +51,7 @@ interface ContextMenuData { type Action = | { action: "copy_id"; id: string } | { action: "admin"; id: string; type: "channel" | "message" | "user" } + | { action: "admin_system"; id: string } | { action: "copy_message_link"; message: Message } | { action: "copy_selection" } | { action: "copy_text"; content: string } @@ -140,6 +139,12 @@ export default function ContextMenus() { "_blank", ); break; + case "admin_system": + window.open( + `https://admin.revolt.chat/panel/inspect/user/${data.id}`, + "_blank", + ); + break; case "copy_message_link": { let pathname = `/channel/${data.message.channel_id}/${data.message._id}`; @@ -505,6 +510,8 @@ export default function ContextMenus() { {locale === "admin" ? ( "Open in Admin Panel" + ) : locale === "admin_system" ? ( + "Inspect user" ) : ( ); -} +} \ No newline at end of file