From 2c758ccdf8372c48f2d2a79ece8f2eba63f1510c Mon Sep 17 00:00:00 2001
From: V <vendicated@riseup.net>
Date: Tue, 5 Sep 2023 18:34:12 +0200
Subject: new plugin: ServerProfile (#1704)

Co-authored-by: Nuckyz <61953774+Nuckyz@users.noreply.github.com>
---
 src/plugins/serverProfile/index.tsx | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 src/plugins/serverProfile/index.tsx

(limited to 'src/plugins/serverProfile/index.tsx')

diff --git a/src/plugins/serverProfile/index.tsx b/src/plugins/serverProfile/index.tsx
new file mode 100644
index 0000000..c27f8cd
--- /dev/null
+++ b/src/plugins/serverProfile/index.tsx
@@ -0,0 +1,40 @@
+/*
+ * Vencord, a Discord client mod
+ * Copyright (c) 2023 Vendicated and contributors
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+import { addContextMenuPatch, findGroupChildrenByChildId, NavContextMenuPatchCallback, removeContextMenuPatch } from "@api/ContextMenu";
+import { Devs } from "@utils/constants";
+import definePlugin from "@utils/types";
+import { Menu } from "@webpack/common";
+import { Guild } from "discord-types/general";
+
+import { openGuildProfileModal } from "./GuildProfileModal";
+
+const Patch: NavContextMenuPatchCallback = (children, { guild }: { guild: Guild; }) => () => {
+    const group = findGroupChildrenByChildId("privacy", children);
+
+    group?.push(
+        <Menu.MenuItem
+            id="vc-server-profile"
+            label="Server Profile"
+            action={() => openGuildProfileModal(guild)}
+        />
+    );
+};
+
+export default definePlugin({
+    name: "ServerProfile",
+    description: "Allows you to view info about a server by right clicking it in the server list",
+    authors: [Devs.Ven, Devs.Nuckyz],
+    tags: ["guild", "info"],
+
+    start() {
+        addContextMenuPatch(["guild-context", "guild-header-popout"], Patch);
+    },
+
+    stop() {
+        removeContextMenuPatch(["guild-context", "guild-header-popout"], Patch);
+    }
+});
-- 
cgit 

