From 48d4f3ad0de31b8593a9a7c1d2fb803dcdbf9dfa Mon Sep 17 00:00:00 2001
From: thororen1234 <78185467+thororen1234@users.noreply.github.com>
Date: Tue, 16 Jul 2024 14:22:52 -0400
Subject: [PATCH] Equicord Team Updates
---
.../showBadgesInChat/index.tsx | 13 +++++++-
.../showBadgesInChat/settings.tsx | 31 +++++++++++++------
src/plugins/_api/badges/index.tsx | 13 +++++++-
src/plugins/_core/supportHelper.tsx | 4 +--
src/utils/constants.ts | 23 ++++++++++++++
src/utils/misc.ts | 3 +-
6 files changed, 73 insertions(+), 14 deletions(-)
diff --git a/src/equicordplugins/showBadgesInChat/index.tsx b/src/equicordplugins/showBadgesInChat/index.tsx
index 54283113..eaac6b94 100644
--- a/src/equicordplugins/showBadgesInChat/index.tsx
+++ b/src/equicordplugins/showBadgesInChat/index.tsx
@@ -6,7 +6,7 @@
import { addDecoration, removeDecoration } from "@api/MessageDecorations";
import { Devs, EquicordDevs } from "@utils/constants";
-import { isEquicordPluginDev, isPluginDev, isSuncordPluginDev } from "@utils/misc";
+import { isEquicordPluginDev, isEquicordTeamDev, isPluginDev, isSuncordPluginDev } from "@utils/misc";
import definePlugin from "@utils/types";
import { findByPropsLazy, findComponentByCodeLazy } from "@webpack";
import badges from "plugins/_api/badges";
@@ -60,6 +60,17 @@ function CheckBadge({ badge, author }: { badge: string; author: User; }): JSX.El
/>
) : null;
+ case "EquicordTeam":
+ return isEquicordTeamDev(author.id) ? (
+
+
+
+ ) : null;
case "SuncordDonor":
return (
diff --git a/src/equicordplugins/showBadgesInChat/settings.tsx b/src/equicordplugins/showBadgesInChat/settings.tsx
index f8bb64f1..1fa82ea7 100644
--- a/src/equicordplugins/showBadgesInChat/settings.tsx
+++ b/src/equicordplugins/showBadgesInChat/settings.tsx
@@ -23,7 +23,7 @@ const settings = definePluginSettings({
},
showEquicordContributor: {
type: OptionType.BOOLEAN,
- description: "Enable to show Equicord Contributor badges in chat.",
+ description: "Enable to show Equicord Contributor badge in chat.",
hidden: true,
default: true
},
@@ -33,6 +33,18 @@ const settings = definePluginSettings({
hidden: true,
default: 1
},
+ showEquicordTeam: {
+ type: OptionType.BOOLEAN,
+ description: "Enable to show Equicord Team badge in chat.",
+ hidden: true,
+ default: true
+ },
+ EquicordTeamPosition: {
+ type: OptionType.NUMBER,
+ description: "The position of the Equicord Team badge.",
+ hidden: true,
+ default: 2
+ },
showSuncordDonor: {
type: OptionType.BOOLEAN,
description: "Enable to show Suncord Donor badges in chat.",
@@ -43,11 +55,11 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Suncord Donor badges.",
hidden: true,
- default: 2
+ default: 3
},
showSuncordContributor: {
type: OptionType.BOOLEAN,
- description: "Enable to show Suncord Contributor badges in chat.",
+ description: "Enable to show Suncord Contributor badge in chat.",
hidden: true,
default: true
},
@@ -55,7 +67,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Suncord Contributor badge.",
hidden: true,
- default: 3
+ default: 4
},
showVencordDonor: {
type: OptionType.BOOLEAN,
@@ -67,11 +79,11 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Vencord Donor badges.",
hidden: true,
- default: 4
+ default: 5
},
showVencordContributor: {
type: OptionType.BOOLEAN,
- description: "Enable to show Vencord contributor badges in chat.",
+ description: "Enable to show Vencord contributor badge in chat.",
hidden: true,
default: true
},
@@ -79,7 +91,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Vencord Contributor badge.",
hidden: true,
- default: 5
+ default: 6
},
showDiscordProfile: {
type: OptionType.BOOLEAN,
@@ -91,7 +103,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Discord profile badges.",
hidden: true,
- default: 6
+ default: 7
},
showDiscordNitro: {
type: OptionType.BOOLEAN,
@@ -103,7 +115,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Discord Nitro badge.",
hidden: true,
- default: 7
+ default: 8
},
badgeSettings: {
type: OptionType.COMPONENT,
@@ -118,6 +130,7 @@ const BadgeSettings = () => {
const [images, setImages] = useState([
{ src: "https://i.imgur.com/KsxHlbD.png", shown: settings.store.showEquicordDonor, title: "Equicord donor badges", key: "EquicordDonor", position: settings.store.EquicordDonorPosition },
{ src: "https://i.imgur.com/rJDRtUB.png", shown: settings.store.showEquicordContributor, title: "Equicord contributor badge", key: "EquicordContributer", position: settings.store.EquicordContributorPosition },
+ { src: "https://i.imgur.com/2ydSGVq.png", shown: settings.store.showEquicordTeam, title: "Equicord contributor badge", key: "EquicordContributer", position: settings.store.EquicordTeamPosition },
{ src: "https://i.imgur.com/H3GPhpd.png", shown: settings.store.showSuncordDonor, title: "Suncord donor badges", key: "SuncordDonor", position: settings.store.SuncordDonorPosition },
{ src: "https://raw.githubusercontent.com/verticalsync/Suncord/main/src/assets/icon.png", shown: settings.store.showSuncordContributor, title: "Suncord contributor badge", key: "SuncordContributer", position: settings.store.SuncordContributorPosition },
{ src: "https://cdn.discordapp.com/emojis/1026533070955872337.png", shown: settings.store.showVencordDonor, title: "Vencord donor badges", key: "VencordDonor", position: settings.store.VencordDonorPosition },
diff --git a/src/plugins/_api/badges/index.tsx b/src/plugins/_api/badges/index.tsx
index 7a970f91..093a8a20 100644
--- a/src/plugins/_api/badges/index.tsx
+++ b/src/plugins/_api/badges/index.tsx
@@ -27,7 +27,7 @@ import { openContributorModal } from "@components/PluginSettings/ContributorModa
import { Devs } from "@utils/constants";
import { Logger } from "@utils/Logger";
import { Margins } from "@utils/margins";
-import { isEquicordPluginDev, isPluginDev, isSuncordPluginDev } from "@utils/misc";
+import { isEquicordPluginDev, isEquicordTeamDev, isPluginDev, isSuncordPluginDev } from "@utils/misc";
import { closeModal, Modals, openModal } from "@utils/modal";
import definePlugin from "@utils/types";
import { Forms, Toasts, UserStore } from "@webpack/common";
@@ -35,6 +35,7 @@ import { User } from "discord-types/general";
const CONTRIBUTOR_BADGE = "https://vencord.dev/assets/favicon.png";
const EQUICORD_CONTRIBUTOR_BADGE = "https://i.imgur.com/rJDRtUB.png";
+const EQUICORD_TEAM_BADGE = "https://i.imgur.com/2ydSGVq.png";
const SUNCORD_CONTRIBUTOR_BADGE = "https://raw.githubusercontent.com/verticalsync/Suncord/main/src/assets/icon.png";
const ContributorBadge: ProfileBadge = {
@@ -53,6 +54,15 @@ const EquicordContributorBadge: ProfileBadge = {
onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
};
+const EquicordTeamBadge: ProfileBadge = {
+ description: "Equicord Team",
+ image: EQUICORD_TEAM_BADGE,
+ position: BadgePosition.START,
+ shouldShow: ({ userId }) => isEquicordTeamDev(userId),
+ onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
+};
+
+
const SuncordContributorBadge: ProfileBadge = {
description: "Suncord Contributor",
image: SUNCORD_CONTRIBUTOR_BADGE,
@@ -161,6 +171,7 @@ export default definePlugin({
Vencord.Api.Badges.addBadge(ContributorBadge);
Vencord.Api.Badges.addBadge(EquicordContributorBadge);
Vencord.Api.Badges.addBadge(SuncordContributorBadge);
+ Vencord.Api.Badges.addBadge(EquicordTeamBadge);
await loadAllBadges();
},
diff --git a/src/plugins/_core/supportHelper.tsx b/src/plugins/_core/supportHelper.tsx
index c500c0a3..54b6ffd2 100644
--- a/src/plugins/_core/supportHelper.tsx
+++ b/src/plugins/_core/supportHelper.tsx
@@ -27,7 +27,7 @@ import { Devs, EquicordDevs, SUPPORT_CHANNEL_ID, SUPPORT_CHANNEL_IDS, VC_SUPPORT
import { sendMessage } from "@utils/discord";
import { Logger } from "@utils/Logger";
import { Margins } from "@utils/margins";
-import { isEquicordPluginDev, isPluginDev, tryOrElse } from "@utils/misc";
+import { isEquicordPluginDev, isEquicordTeamDev, isPluginDev, tryOrElse } from "@utils/misc";
import { relaunch } from "@utils/native";
import { onlyOnce } from "@utils/onlyOnce";
import { makeCodeblock } from "@utils/text";
@@ -253,7 +253,7 @@ export default definePlugin({
},
ContributorDmWarningCard: ErrorBoundary.wrap(({ userId }) => {
- if (!isPluginDev(userId) || !isEquicordPluginDev(userId)) return null;
+ if (!isPluginDev(userId) || !isEquicordPluginDev(userId) || !isEquicordTeamDev(userId)) return null;
if (RelationshipStore.isFriend(userId) || isPluginDev(UserStore.getCurrentUser()?.id)) return null;
return (
diff --git a/src/utils/constants.ts b/src/utils/constants.ts
index 898db29f..3ae56fb1 100644
--- a/src/utils/constants.ts
+++ b/src/utils/constants.ts
@@ -708,6 +708,21 @@ export const SuncordDevs = /* #__PURE__*/ Object.freeze({
},
} satisfies Record);
+export const EquicordTeam = /* #__PURE__*/ Object.freeze({
+ thororen: {
+ name: "thororen",
+ id: 848339671629299742n,
+ },
+ KrystalSkull: {
+ name: "krystalskullofficial",
+ id: 929208515883569182n,
+ },
+ Naibuu: {
+ name: "hs50",
+ id: 1120045713867423835n,
+ },
+} satisfies Record);
+
// iife so #__PURE__ works correctly
export const VencordDevsById = /* #__PURE__*/ (() =>
Object.freeze(Object.fromEntries(
@@ -732,3 +747,11 @@ export const SuncordDevsById = /* #__PURE__*/ (() =>
.map(([_, v]) => [v.id, v] as const)
))
)() as Record;
+
+export const EquicordTeamById = /* #__PURE__*/ (() =>
+ Object.freeze(Object.fromEntries(
+ Object.entries(EquicordDevs)
+ .filter(d => d[1].id !== 0n)
+ .map(([_, v]) => [v.id, v] as const)
+ ))
+)() as Record;
diff --git a/src/utils/misc.ts b/src/utils/misc.ts
index 51b1cca1..9cf22c37 100644
--- a/src/utils/misc.ts
+++ b/src/utils/misc.ts
@@ -18,7 +18,7 @@
import { Clipboard, Toasts } from "@webpack/common";
-import { EquicordDevsById, SuncordDevsById, VencordDevsById } from "./constants";
+import { EquicordDevsById, EquicordTeamById, SuncordDevsById, VencordDevsById } from "./constants";
/**
* Calls .join(" ") on the arguments
@@ -96,6 +96,7 @@ export const isMobile = navigator.userAgent.includes("Mobi");
export const isPluginDev = (id: string) => Object.hasOwn(VencordDevsById, id);
export const isEquicordPluginDev = (id: string) => Object.hasOwn(EquicordDevsById, id);
+export const isEquicordTeamDev = (id: string) => Object.hasOwn(EquicordTeamById, id);
export const isSuncordPluginDev = (id: string) => Object.hasOwn(SuncordDevsById, id);
export function pluralise(amount: number, singular: string, plural = singular + "s") {