Equicord/src/plugins/serverInfo/index.tsx
2025-10-13 01:22:16 -04:00

62 lines
1.8 KiB
TypeScript

/*
* Vencord, a Discord client mod
* Copyright (c) 2023 Vendicated and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { findGroupChildrenByChildId, NavContextMenuPatchCallback } from "@api/ContextMenu";
import { definePluginSettings } from "@api/Settings";
import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { Guild } from "@vencord/discord-types";
import { Menu } from "@webpack/common";
import { openGuildInfoModal } from "./GuildInfoModal";
const Patch: NavContextMenuPatchCallback = (children, { guild }: { guild: Guild; }) => {
const group = findGroupChildrenByChildId("privacy", children);
group?.push(
<Menu.MenuItem
id="vc-server-info"
label="Server Info"
action={() => openGuildInfoModal(guild)}
/>
);
};
export const settings = definePluginSettings({
sorting: {
type: OptionType.SELECT,
description: "Username or if applicable Display Name",
options: [
{
label: "Username",
value: "username"
},
{
label: "Display Name",
value: "displayname",
default: true
},
{
label: "Dont Sort",
value: "none",
}
]
}
});
export default definePlugin({
name: "ServerInfo",
description: "Allows you to view info about a server",
authors: [Devs.Ven, Devs.Nuckyz, EquicordDevs.Z1xus],
dependencies: ["DynamicImageModalAPI"],
tags: ["guild", "info", "ServerProfile"],
isModified: true,
contextMenus: {
"guild-context": Patch,
"guild-header-popout": Patch
},
settings
});