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") {