From 44109d9979c98fa394833b53fbdce39beb1d5af5 Mon Sep 17 00:00:00 2001
From: thororen <78185467+thororen1234@users.noreply.github.com>
Date: Thu, 18 Apr 2024 19:15:01 -0400
Subject: [PATCH] Update To Devs and Badges Sys
---
README.md | 4 +-
src/api/Badges.ts | 2 +
src/components/ThemeSettings/ThemesTab.tsx | 2 +-
src/equicordplugins/VCSupport/index.ts | 4 +-
src/equicordplugins/allCallTimers/Timer.tsx | 2 +-
.../allCallTimers/TimerIcon.tsx | 2 +-
src/equicordplugins/allCallTimers/index.tsx | 4 +-
.../allCallTimers/timerText.tsx | 6 +-
src/equicordplugins/allowedMentions/index.tsx | 4 +-
.../copyEmojiAsFormattedString/index.tsx | 4 +-
src/equicordplugins/copyUserMention/index.tsx | 4 +-
src/equicordplugins/customAppIcons/index.tsx | 18 +-
.../customScreenShare.desktop/index.tsx | 4 +-
src/equicordplugins/doNotLeak/index.ts | 4 +-
.../doubleCounterVerifyBypass/index.tsx | 4 +-
src/equicordplugins/emojiDumper/index.tsx | 6 +-
src/equicordplugins/equicordCSS/index.ts | 4 +-
src/equicordplugins/exportContacts/index.tsx | 4 +-
.../components/BuilderButton.tsx | 0
.../components/ColorPickerModal.tsx | 0
.../components/ProfileEffectModal.tsx | 0
.../fakeProfileThemes/index.tsx | 4 +-
.../fakeProfileThemes/types.ts | 0
src/equicordplugins/globalBadges/index.tsx | 4 +-
src/equicordplugins/hideMessage/index.tsx | 4 +-
src/equicordplugins/holyNotes/index.tsx | 4 +-
src/equicordplugins/iRememberYou/index.tsx | 4 +-
src/equicordplugins/keywordNotify/index.tsx | 4 +-
src/equicordplugins/messageLatency/index.tsx | 4 +-
src/equicordplugins/noNitroUpsell/index.ts | 4 +-
src/equicordplugins/platformSpoofer/index.ts | 4 +-
src/equicordplugins/purgeMessages/index.ts | 4 +-
.../questionMarkReplacement/index.tsx | 4 +-
src/equicordplugins/replyPingControl/index.ts | 4 +-
src/equicordplugins/search/index.ts | 4 +-
src/equicordplugins/searchFix/index.tsx | 4 +-
.../sekaiStickers/characters.json.ts | 2 +-
src/equicordplugins/sekaiStickers/index.tsx | 1 -
.../serverProfilesToolBox/index.tsx | 2 +-
.../showBadgesInChat/index.tsx | 18 +-
.../showBadgesInChat/settings.tsx | 23 ++-
.../soundBoardLogger/index.tsx | 8 +-
.../unlimitedAccounts/index.ts | 4 +-
src/equicordplugins/usrpfp/index.tsx | 4 +-
src/equicordplugins/voiceChatUtils/index.tsx | 6 +-
src/equicordplugins/voiceDownload/index.tsx | 4 +-
src/equicordplugins/whosWatching/index.tsx | 4 +-
src/plugins/_api/badges.tsx | 100 ++++++++--
src/plugins/equicordToolbox/index.tsx | 2 +-
.../components/SpotifyIcon.tsx | 2 +-
.../components/TwitchIcon.tsx | 2 +-
src/plugins/memberListActivites/index.tsx | 2 +-
src/plugins/oneko/index.ts | 34 +---
.../readAllNotificationsButton/index.tsx | 2 +-
src/utils/constants.ts | 171 ++++++++----------
src/utils/react.tsx | 2 +-
.../common/types/passiveupdatestate.d.ts | 2 +-
src/webpack/common/types/voicestate.d.ts | 2 +-
58 files changed, 295 insertions(+), 240 deletions(-)
rename src/{plugins => equicordplugins}/fakeProfileThemes/components/BuilderButton.tsx (100%)
rename src/{plugins => equicordplugins}/fakeProfileThemes/components/ColorPickerModal.tsx (100%)
rename src/{plugins => equicordplugins}/fakeProfileThemes/components/ProfileEffectModal.tsx (100%)
rename src/{plugins => equicordplugins}/fakeProfileThemes/index.tsx (99%)
rename src/{plugins => equicordplugins}/fakeProfileThemes/types.ts (100%)
diff --git a/README.md b/README.md
index 45f04fb7b..57614f90a 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,15 @@
An enhanced version of [Vencord](https://github.com/Vendicated/Vencord) by [Vendicated](https://github.com/Vendicated) called Equicord
+Thank you to [Suncord](https://github.com/verticalsync/Suncord) by verticalsync for letting me rob your code sometimes :3
+

## Features
- Third-party plugins implemented into the main build.
- 100+ plugins built-in.
- - Some highlights: SpotifyControls, MessageLogger, Experiments, GameActivityToggle, Translate, NoTrack, QuickReply, Free Emotes/Stickers, PermissionsViewer,
+ - Some highlights: SpotifyControls, MessageLogger, Experiments, GameActivityToggle, Translate, NoTrack, QuickReply, Free Emotes/Stickers, PermissionsViewer,
CustomCommands, ShowHiddenChannels, PronounDB
- Fairly lightweight despite the many inbuilt plugins
- Works on any Discord branch: Stable, Canary or PTB all work (though for the best experience, I recommend stable!)
diff --git a/src/api/Badges.ts b/src/api/Badges.ts
index b50016c5b..2b4f4563b 100644
--- a/src/api/Badges.ts
+++ b/src/api/Badges.ts
@@ -80,7 +80,9 @@ export function _getBadges(args: BadgeUserArgs) {
}
}
const donorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(args.user.id);
+ const equicordDonorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getEquicordDonorBadges(args.user.id);
if (donorBadges) badges.unshift(...donorBadges);
+ if (equicordDonorBadges) badges.unshift(...equicordDonorBadges);
return badges;
}
diff --git a/src/components/ThemeSettings/ThemesTab.tsx b/src/components/ThemeSettings/ThemesTab.tsx
index 89a76bce9..79434e7b8 100644
--- a/src/components/ThemeSettings/ThemesTab.tsx
+++ b/src/components/ThemeSettings/ThemesTab.tsx
@@ -21,7 +21,7 @@ import { useAwaiter } from "@utils/react";
import type { ThemeHeader } from "@utils/themes";
import { getThemeInfo, stripBOM, type UserThemeHeader } from "@utils/themes/bd";
import { usercssParse } from "@utils/themes/usercss";
-import { findByCodeLazy, findLazy } from "@webpack";
+import { findLazy } from "@webpack";
import { Button, Card, Forms, React, showToast, TabBar, Tooltip, useEffect, useMemo, useRef, useState } from "@webpack/common";
import type { ComponentType, Ref, SyntheticEvent } from "react";
import type { UserstyleHeader } from "usercss-meta";
diff --git a/src/equicordplugins/VCSupport/index.ts b/src/equicordplugins/VCSupport/index.ts
index 4a7b46b31..f803c408e 100644
--- a/src/equicordplugins/VCSupport/index.ts
+++ b/src/equicordplugins/VCSupport/index.ts
@@ -4,11 +4,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "VCSupport",
description: "Wumpus Dance + Support Warning",
- authors: [Devs.thororen],
+ authors: [EquicordDevs.thororen],
});
diff --git a/src/equicordplugins/allCallTimers/Timer.tsx b/src/equicordplugins/allCallTimers/Timer.tsx
index 6734c6a5f..dd70a368a 100644
--- a/src/equicordplugins/allCallTimers/Timer.tsx
+++ b/src/equicordplugins/allCallTimers/Timer.tsx
@@ -35,4 +35,4 @@ export function Timer({ time }: Readonly<{ time: number; }>) {
);
}
-}
\ No newline at end of file
+}
diff --git a/src/equicordplugins/allCallTimers/TimerIcon.tsx b/src/equicordplugins/allCallTimers/TimerIcon.tsx
index 0a92b73a3..ebb5fb04d 100644
--- a/src/equicordplugins/allCallTimers/TimerIcon.tsx
+++ b/src/equicordplugins/allCallTimers/TimerIcon.tsx
@@ -23,4 +23,4 @@ export function TimerIcon({ height = 16, width = 16, className }: Readonly<{
C425,186.896,387.944,124.958,332.229,90.04z M355,272.5H212.5V130h30v112.5H355V272.5z"/>
);
-}
\ No newline at end of file
+}
diff --git a/src/equicordplugins/allCallTimers/index.tsx b/src/equicordplugins/allCallTimers/index.tsx
index 9326ed262..36ec68bf2 100644
--- a/src/equicordplugins/allCallTimers/index.tsx
+++ b/src/equicordplugins/allCallTimers/index.tsx
@@ -6,7 +6,7 @@
import { definePluginSettings } from "@api/Settings";
import ErrorBoundary from "@components/ErrorBoundary";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { FluxDispatcher, GuildStore, UserStore } from "@webpack/common";
import { PassiveUpdateState, VoiceState } from "@webpack/types";
@@ -101,7 +101,7 @@ let runOneTime = true;
export default definePlugin({
name: "AllCallTimers",
description: "Add call timer to all users in a server voice channel.",
- authors: [Devs.MaxHerbold, Devs.D3SOX],
+ authors: [EquicordDevs.MaxHerbold, Devs.D3SOX],
settings,
diff --git a/src/equicordplugins/allCallTimers/timerText.tsx b/src/equicordplugins/allCallTimers/timerText.tsx
index 396784fd6..dc102b747 100644
--- a/src/equicordplugins/allCallTimers/timerText.tsx
+++ b/src/equicordplugins/allCallTimers/timerText.tsx
@@ -6,10 +6,10 @@
export function TimerText({ text, className }: Readonly<{ text: string; className: string; }>) {
return
{text}
;
-}
\ No newline at end of file
+}
diff --git a/src/equicordplugins/allowedMentions/index.tsx b/src/equicordplugins/allowedMentions/index.tsx
index bd2b81fc0..d02b8a1bc 100644
--- a/src/equicordplugins/allowedMentions/index.tsx
+++ b/src/equicordplugins/allowedMentions/index.tsx
@@ -7,7 +7,7 @@
import { addPreSendListener, MessageExtra, removePreSendListener } from "@api/MessageEvents";
import { definePluginSettings } from "@api/Settings";
import { Flex } from "@components/Flex";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import { isNonNullish } from "@utils/guards";
import definePlugin, { OptionType } from "@utils/types";
import { Alerts, GuildStore, PermissionsBits, PermissionStore } from "@webpack/common";
@@ -17,7 +17,7 @@ import { AllowedMentions, AllowedMentionsBar, AllowedMentionsProps, AllowedMenti
export default definePlugin({
name: "AllowedMentions",
- authors: [Devs.arHSM, Devs.amia],
+ authors: [EquicordDevs.arHSM, Devs.amia],
description: "Fine grained control over whom to ping when sending or editing a message.",
dependencies: ["MessageEventsAPI"],
settings: definePluginSettings({
diff --git a/src/equicordplugins/copyEmojiAsFormattedString/index.tsx b/src/equicordplugins/copyEmojiAsFormattedString/index.tsx
index f808b4b6b..0cc607e07 100644
--- a/src/equicordplugins/copyEmojiAsFormattedString/index.tsx
+++ b/src/equicordplugins/copyEmojiAsFormattedString/index.tsx
@@ -4,7 +4,7 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Clipboard, Menu, showToast, Toasts } from "@webpack/common";
@@ -54,7 +54,7 @@ function getEmojiFormattedString(target: Target): string {
export default definePlugin({
name: "CopyEmojiAsString",
description: "Add's button to copy emoji as formatted string!",
- authors: [Devs.HAPPY_ENDERMAN, Devs.VISHNYA_NET_CHERESHNYA],
+ authors: [EquicordDevs.HAPPY_ENDERMAN, EquicordDevs.VISHNYA_NET_CHERESHNYA],
contextMenus: {
"expression-picker"(children, { target }: { target: Target; }) {
if (target.dataset.type !== "emoji") return;
diff --git a/src/equicordplugins/copyUserMention/index.tsx b/src/equicordplugins/copyUserMention/index.tsx
index 9b5839a9f..814232657 100644
--- a/src/equicordplugins/copyUserMention/index.tsx
+++ b/src/equicordplugins/copyUserMention/index.tsx
@@ -5,7 +5,7 @@
*/
import { NavContextMenuPatchCallback } from "@api/ContextMenu";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Clipboard, Menu } from "@webpack/common";
import type { Channel, User } from "discord-types/general";
@@ -45,7 +45,7 @@ const UserContextMenuPatch: NavContextMenuPatchCallback = (children, { user }: U
export default definePlugin({
name: "CopyUserMention",
- authors: [Devs.Cortex, Devs.castdrian],
+ authors: [EquicordDevs.Cortex, Devs.castdrian],
description: "Adds a button to copy user's mention on the user context menu, works best with ValidUser.",
contextMenus: {
"user-context": UserContextMenuPatch
diff --git a/src/equicordplugins/customAppIcons/index.tsx b/src/equicordplugins/customAppIcons/index.tsx
index c28ea0ac1..95c76e9f2 100644
--- a/src/equicordplugins/customAppIcons/index.tsx
+++ b/src/equicordplugins/customAppIcons/index.tsx
@@ -17,7 +17,7 @@
*/
import { Link } from "@components/Link";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { localStorage } from "@utils/localStorage";
import { closeAllModals, openModal } from "@utils/modal";
import definePlugin from "@utils/types";
@@ -51,7 +51,7 @@ function removeAppIcon() {
export default definePlugin({
name: "CustomAppIcons",
description: "Add/upload custom (In-)App Icons.",
- authors: [Devs.HAPPY_ENDERMAN, Devs.SerStars],
+ authors: [EquicordDevs.HAPPY_ENDERMAN, EquicordDevs.SerStars],
patches: [
{
find: ".PremiumUpsellTypes.APP_ICON_UPSELL",
@@ -99,12 +99,12 @@ export default definePlugin({
<>How to use?
-
- Go to { e.preventDefault(); closeAllModals(); FluxDispatcher.dispatch({ type: "USER_SETTINGS_MODAL_SET_SECTION", section: "Appearance" }); }}>Appearance Settings tab.
- Scroll down to "In-app Icons" and click on "Preview App Icon".
- And upload your own custom icon!
- You can only use links when you are uploading your Custom Icon.
- >
+
+ Go to { e.preventDefault(); closeAllModals(); FluxDispatcher.dispatch({ type: "USER_SETTINGS_MODAL_SET_SECTION", section: "Appearance" }); }}>Appearance Settings tab.
+ Scroll down to "In-app Icons" and click on "Preview App Icon".
+ And upload your own custom icon!
+ You can only use links when you are uploading your Custom Icon.
+ >
);
}
-});
\ No newline at end of file
+});
diff --git a/src/equicordplugins/customScreenShare.desktop/index.tsx b/src/equicordplugins/customScreenShare.desktop/index.tsx
index a2c811cd6..981681db9 100644
--- a/src/equicordplugins/customScreenShare.desktop/index.tsx
+++ b/src/equicordplugins/customScreenShare.desktop/index.tsx
@@ -17,7 +17,7 @@
*/
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType, StartAt } from "@utils/types";
import { Forms, Menu, TextInput, useState } from "@webpack/common";
@@ -89,7 +89,7 @@ const settings = definePluginSettings({
export default definePlugin({
name: "CustomScreenShare",
description: "Stream any resolution and any FPS!",
- authors: [Devs.KawaiianPizza],
+ authors: [EquicordDevs.KawaiianPizza],
settingsAboutComponent: () => (
Usage
diff --git a/src/equicordplugins/doNotLeak/index.ts b/src/equicordplugins/doNotLeak/index.ts
index 316d29850..07a12aa93 100644
--- a/src/equicordplugins/doNotLeak/index.ts
+++ b/src/equicordplugins/doNotLeak/index.ts
@@ -18,7 +18,7 @@
import { definePluginSettings, migratePluginSettings } from "@api/Settings";
import { disableStyle, enableStyle } from "@api/Styles";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import styles from "./style.css?managed";
@@ -54,7 +54,7 @@ migratePluginSettings("DoNotLeak", "Do Not Leak!");
export default definePlugin({
name: "DoNotLeak",
description: "Hide all message contents and attachments when you're streaming or sharing your screen.",
- authors: [Devs.Perny],
+ authors: [EquicordDevs.Perny],
settings,
start() {
document.addEventListener("keyup", keyUpHandler);
diff --git a/src/equicordplugins/doubleCounterVerifyBypass/index.tsx b/src/equicordplugins/doubleCounterVerifyBypass/index.tsx
index 1f80b58b8..d0c657e65 100644
--- a/src/equicordplugins/doubleCounterVerifyBypass/index.tsx
+++ b/src/equicordplugins/doubleCounterVerifyBypass/index.tsx
@@ -5,7 +5,7 @@
*/
import { NavContextMenuPatchCallback } from "@api/ContextMenu";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Alerts, Menu } from "@webpack/common";
import { Message } from "discord-types/general";
@@ -56,7 +56,7 @@ async function verify(link) {
export default definePlugin({
name: "DoubleCounterBypass",
description: "Bypass Double Counter verifications easily.",
- authors: [Devs.nyx],
+ authors: [EquicordDevs.nyx],
contextMenus: {
"message": patchMessageContextMenu,
diff --git a/src/equicordplugins/emojiDumper/index.tsx b/src/equicordplugins/emojiDumper/index.tsx
index fec58e654..b8ad78f3e 100644
--- a/src/equicordplugins/emojiDumper/index.tsx
+++ b/src/equicordplugins/emojiDumper/index.tsx
@@ -5,7 +5,7 @@
*/
import { addContextMenuPatch, findGroupChildrenByChildId, NavContextMenuPatchCallback, removeContextMenuPatch } from "@api/ContextMenu";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Menu } from "@webpack/common";
import type { Guild } from "discord-types/general";
@@ -26,9 +26,9 @@ export default definePlugin({
name: "emojiDumper",
description: "Context menu to dump and download a server's emojis.",
authors: [
- Devs.Cortex,
+ EquicordDevs.Cortex,
Devs.Samwich,
- Devs.Woosh,
+ EquicordDevs.Woosh,
],
start() {
addContextMenuPatch(["guild-context", "guild-header-popout"], Patch);
diff --git a/src/equicordplugins/equicordCSS/index.ts b/src/equicordplugins/equicordCSS/index.ts
index 0c9eca83c..21fe27d3c 100644
--- a/src/equicordplugins/equicordCSS/index.ts
+++ b/src/equicordplugins/equicordCSS/index.ts
@@ -19,7 +19,7 @@
// Import required modules and components
import { definePluginSettings, migratePluginSettings } from "@api/Settings";
import { disableStyle, enableStyle } from "@api/Styles";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
// Importing the style managed fixes on and off switch
@@ -81,7 +81,7 @@ migratePluginSettings("EquicordCSS", "EquicordBuiltIn");
export default definePlugin({
name: "EquicordCSS",
description: "CSS for Equicord users. You will need to look at the settings.",
- authors: [Devs.FoxStorm1, Devs.thororen],
+ authors: [EquicordDevs.FoxStorm1, EquicordDevs.thororen],
dependencies: ["ThemeAttributes"],
settings,
start() {
diff --git a/src/equicordplugins/exportContacts/index.tsx b/src/equicordplugins/exportContacts/index.tsx
index 35313147d..8cbe2bb22 100644
--- a/src/equicordplugins/exportContacts/index.tsx
+++ b/src/equicordplugins/exportContacts/index.tsx
@@ -19,7 +19,7 @@
import "./styles.css";
import ErrorBoundary from "@components/ErrorBoundary";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Clipboard, Toasts } from "@webpack/common";
@@ -57,7 +57,7 @@ function getUsernames(contacts: ContactsList[], type: number): string[] {
export default definePlugin({
name: "ExportContacts",
description: "Export a list of friends to your clipboard. Adds a new button to the menu bar for the friends tab.",
- authors: [Devs.dat_insanity],
+ authors: [EquicordDevs.dat_insanity],
patches: [
{
find: "fetchRelationships(){",
diff --git a/src/plugins/fakeProfileThemes/components/BuilderButton.tsx b/src/equicordplugins/fakeProfileThemes/components/BuilderButton.tsx
similarity index 100%
rename from src/plugins/fakeProfileThemes/components/BuilderButton.tsx
rename to src/equicordplugins/fakeProfileThemes/components/BuilderButton.tsx
diff --git a/src/plugins/fakeProfileThemes/components/ColorPickerModal.tsx b/src/equicordplugins/fakeProfileThemes/components/ColorPickerModal.tsx
similarity index 100%
rename from src/plugins/fakeProfileThemes/components/ColorPickerModal.tsx
rename to src/equicordplugins/fakeProfileThemes/components/ColorPickerModal.tsx
diff --git a/src/plugins/fakeProfileThemes/components/ProfileEffectModal.tsx b/src/equicordplugins/fakeProfileThemes/components/ProfileEffectModal.tsx
similarity index 100%
rename from src/plugins/fakeProfileThemes/components/ProfileEffectModal.tsx
rename to src/equicordplugins/fakeProfileThemes/components/ProfileEffectModal.tsx
diff --git a/src/plugins/fakeProfileThemes/index.tsx b/src/equicordplugins/fakeProfileThemes/index.tsx
similarity index 99%
rename from src/plugins/fakeProfileThemes/index.tsx
rename to src/equicordplugins/fakeProfileThemes/index.tsx
index 37e1f45ef..530aebe43 100644
--- a/src/plugins/fakeProfileThemes/index.tsx
+++ b/src/equicordplugins/fakeProfileThemes/index.tsx
@@ -5,7 +5,7 @@
*/
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { Margins } from "@utils/margins";
import { copyWithToast } from "@utils/misc";
import { closeModal } from "@utils/modal";
@@ -286,7 +286,7 @@ const settings = definePluginSettings({
export default definePlugin({
name: "FakeProfileThemes",
description: "Allows profile theming and the usage of profile effects by hiding the colors and effect ID in your About Me using invisible, zero-width characters",
- authors: [Devs.ryan],
+ authors: [EquicordDevs.ryan],
patches: [
{
find: '"UserProfileStore"',
diff --git a/src/plugins/fakeProfileThemes/types.ts b/src/equicordplugins/fakeProfileThemes/types.ts
similarity index 100%
rename from src/plugins/fakeProfileThemes/types.ts
rename to src/equicordplugins/fakeProfileThemes/types.ts
diff --git a/src/equicordplugins/globalBadges/index.tsx b/src/equicordplugins/globalBadges/index.tsx
index 55dbca596..c566f4bf7 100644
--- a/src/equicordplugins/globalBadges/index.tsx
+++ b/src/equicordplugins/globalBadges/index.tsx
@@ -17,7 +17,7 @@
*/
import { addBadge, BadgePosition, ProfileBadge, removeBadge } from "@api/Badges";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { React, Tooltip } from "@webpack/common";
import { User } from "discord-types/general";
@@ -111,7 +111,7 @@ const showCustom = () => Vencord.Settings.plugins.GlobalBadges.showCustom;
export default definePlugin({
name: "GlobalBadges",
description: "Adds global badges from other client mods",
- authors: [Devs.HypedDomi, Devs.Wolfie],
+ authors: [Devs.HypedDomi, EquicordDevs.Wolfie],
start: () => addBadge(Badge),
stop: () => removeBadge(Badge),
diff --git a/src/equicordplugins/hideMessage/index.tsx b/src/equicordplugins/hideMessage/index.tsx
index 19647b51a..1ea82497e 100644
--- a/src/equicordplugins/hideMessage/index.tsx
+++ b/src/equicordplugins/hideMessage/index.tsx
@@ -11,7 +11,7 @@ import { get, set } from "@api/DataStore";
import { addAccessory, removeAccessory } from "@api/MessageAccessories";
import { definePluginSettings } from "@api/Settings";
import { classNameFactory } from "@api/Styles";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { Menu } from "@webpack/common";
@@ -129,7 +129,7 @@ export const settings = definePluginSettings({
export default definePlugin({
name: "HideMessage",
description: "Adds a context menu option to hide messages",
- authors: [Devs.Hanzy],
+ authors: [EquicordDevs.Hanzy],
settings,
contextMenus: {
diff --git a/src/equicordplugins/holyNotes/index.tsx b/src/equicordplugins/holyNotes/index.tsx
index ba7d75829..999dc9e42 100644
--- a/src/equicordplugins/holyNotes/index.tsx
+++ b/src/equicordplugins/holyNotes/index.tsx
@@ -22,7 +22,7 @@ import { NavContextMenuPatchCallback } from "@api/ContextMenu";
import { DataStore } from "@api/index";
import { addButton, removeButton } from "@api/MessagePopover";
import ErrorBoundary from "@components/ErrorBoundary";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { classes } from "@utils/misc";
import { openModal } from "@utils/modal";
import definePlugin from "@utils/types";
@@ -71,7 +71,7 @@ function ToolBarHeader() {
export default definePlugin({
name: "HolyNotes",
description: "Holy Notes allows you to save messages",
- authors: [Devs.Wolfie],
+ authors: [EquicordDevs.Wolfie],
dependencies: ["MessagePopoverAPI", "ChatInputButtonAPI"],
patches: [
diff --git a/src/equicordplugins/iRememberYou/index.tsx b/src/equicordplugins/iRememberYou/index.tsx
index c811c2508..622ac09ea 100644
--- a/src/equicordplugins/iRememberYou/index.tsx
+++ b/src/equicordplugins/iRememberYou/index.tsx
@@ -8,7 +8,7 @@ import { DataStore } from "@api/index";
import { addPreSendListener, removePreSendListener } from "@api/MessageEvents";
import ExpandableHeader from "@components/ExpandableHeader";
import { Heart } from "@components/Heart";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { openUserProfile } from "@utils/discord";
import * as Modal from "@utils/modal";
import definePlugin from "@utils/types";
@@ -370,7 +370,7 @@ class DataUI {
export default definePlugin({
name: "IRememberYou",
description: "Locally saves everyone you've been communicating with (including servers), in case of lose",
- authors: [Devs.zoodogood],
+ authors: [EquicordDevs.zoodogood],
dependencies: ["MessageEventsAPI"],
patches: [],
diff --git a/src/equicordplugins/keywordNotify/index.tsx b/src/equicordplugins/keywordNotify/index.tsx
index e497e31d7..3adff6f06 100644
--- a/src/equicordplugins/keywordNotify/index.tsx
+++ b/src/equicordplugins/keywordNotify/index.tsx
@@ -10,7 +10,7 @@ import { DataStore } from "@api/index";
import { definePluginSettings } from "@api/Settings";
import { Flex } from "@components/Flex";
import { DeleteIcon } from "@components/Icons";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { useForceUpdater } from "@utils/react";
import definePlugin, { OptionType } from "@utils/types";
import { Button, Forms, TextInput, UserStore, UserUtils, useState } from "@webpack/common";
@@ -90,7 +90,7 @@ const settings = definePluginSettings({
export default definePlugin({
name: "KeywordNotify",
- authors: [Devs.camila314],
+ authors: [EquicordDevs.camila314],
description: "Sends a notification if a given message matches certain keywords or regexes",
settings,
patches: [
diff --git a/src/equicordplugins/messageLatency/index.tsx b/src/equicordplugins/messageLatency/index.tsx
index a8633df37..b42f08d08 100644
--- a/src/equicordplugins/messageLatency/index.tsx
+++ b/src/equicordplugins/messageLatency/index.tsx
@@ -5,7 +5,7 @@
*/
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import { isNonNullish } from "@utils/guards";
import definePlugin, { OptionType } from "@utils/types";
import { waitFor } from "@webpack";
@@ -31,7 +31,7 @@ waitFor("HiddenVisually", mod => {
export default definePlugin({
name: "MessageLatency",
description: "Displays an indicator for messages that took ≥n seconds to send",
- authors: [Devs.arHSM],
+ authors: [EquicordDevs.arHSM],
settings: definePluginSettings({
latency: {
type: OptionType.NUMBER,
diff --git a/src/equicordplugins/noNitroUpsell/index.ts b/src/equicordplugins/noNitroUpsell/index.ts
index 15c49ae09..a5c47768a 100644
--- a/src/equicordplugins/noNitroUpsell/index.ts
+++ b/src/equicordplugins/noNitroUpsell/index.ts
@@ -4,7 +4,7 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { UserStore } from "@webpack/common";
import { User } from "discord-types/general";
@@ -20,7 +20,7 @@ interface ModifiedUser extends User {
export default definePlugin({
name: "NoNitroUpsell",
description: "Removes ALL of Discord's nitro upsells by tricking the client into thinking you have nitro.",
- authors: [Devs.thororen],
+ authors: [EquicordDevs.thororen],
ready(user: ModifiedUser): void {
if (!user) return;
if ("_realPremiumType" in user) return;
diff --git a/src/equicordplugins/platformSpoofer/index.ts b/src/equicordplugins/platformSpoofer/index.ts
index a439de180..98c1aaa40 100644
--- a/src/equicordplugins/platformSpoofer/index.ts
+++ b/src/equicordplugins/platformSpoofer/index.ts
@@ -5,7 +5,7 @@
*/
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
const settings = definePluginSettings({
@@ -30,7 +30,7 @@ const settings = definePluginSettings({
export default definePlugin({
name: "PlatformSpoofer",
description: "Spoof what platform or device you're on",
- authors: [Devs.Drag],
+ authors: [EquicordDevs.Drag],
settings: settings,
patches: [
{
diff --git a/src/equicordplugins/purgeMessages/index.ts b/src/equicordplugins/purgeMessages/index.ts
index c1f2ce658..9cd4015de 100644
--- a/src/equicordplugins/purgeMessages/index.ts
+++ b/src/equicordplugins/purgeMessages/index.ts
@@ -17,7 +17,7 @@
*/
import { ApplicationCommandInputType, ApplicationCommandOptionType, findOption, sendBotMessage } from "@api/Commands";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { findByPropsLazy } from "@webpack";
import { MessageStore, UserStore } from "@webpack/common";
@@ -45,7 +45,7 @@ export default definePlugin({
name: "MessagePurge",
description: "Purges messages from a channel",
dependencies: ["CommandsAPI"],
- authors: [Devs.bhop, Devs.nyx],
+ authors: [EquicordDevs.bhop, EquicordDevs.nyx],
commands: [
{
name: "purge",
diff --git a/src/equicordplugins/questionMarkReplacement/index.tsx b/src/equicordplugins/questionMarkReplacement/index.tsx
index e63d44b04..92c623b34 100644
--- a/src/equicordplugins/questionMarkReplacement/index.tsx
+++ b/src/equicordplugins/questionMarkReplacement/index.tsx
@@ -6,7 +6,7 @@
import { addPreSendListener, removePreSendListener } from "@api/MessageEvents";
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
const settings = definePluginSettings({
@@ -31,7 +31,7 @@ function replaceQuestionMarks(content: string): string {
export default definePlugin({
name: "QuestionMarkReplace",
description: "Replace all question marks with chosen string, if message only contains question marks.",
- authors: [Devs.nyx],
+ authors: [EquicordDevs.nyx],
settings,
diff --git a/src/equicordplugins/replyPingControl/index.ts b/src/equicordplugins/replyPingControl/index.ts
index 6adda15cd..a3576e2e7 100644
--- a/src/equicordplugins/replyPingControl/index.ts
+++ b/src/equicordplugins/replyPingControl/index.ts
@@ -5,7 +5,7 @@
*/
import { definePluginSettings } from "@api/Settings";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { MessageStore, showToast, UserStore } from "@webpack/common";
import { MessageJSON } from "discord-types/general";
@@ -43,7 +43,7 @@ export const settings = definePluginSettings({
export default definePlugin({
name: "ReplyPingControl",
description: "Control whether to always or never get pinged on message replies, with a whitelist feature",
- authors: [Devs.ant0n, Devs.MrDiamond],
+ authors: [Devs.ant0n, EquicordDevs.MrDiamond],
settings,
patches: [{
diff --git a/src/equicordplugins/search/index.ts b/src/equicordplugins/search/index.ts
index 92a2a0ace..20c384135 100644
--- a/src/equicordplugins/search/index.ts
+++ b/src/equicordplugins/search/index.ts
@@ -17,12 +17,12 @@
*/
import { ApplicationCommandOptionType, findOption } from "@api/Commands";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "Search",
- authors: [Devs.JacobTm, Devs.thororen],
+ authors: [Devs.JacobTm, EquicordDevs.thororen],
description: "Searchs the web.",
dependencies: ["CommandsAPI"],
commands: [{
diff --git a/src/equicordplugins/searchFix/index.tsx b/src/equicordplugins/searchFix/index.tsx
index e59ce6b72..1051f5ebc 100644
--- a/src/equicordplugins/searchFix/index.tsx
+++ b/src/equicordplugins/searchFix/index.tsx
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "SearchFix",
description: 'Fixes the annoying "We dropped the magnifying glass!" error.',
settingsAboutComponent: () => This fix isn't perfect, so you may have to reload the search bar to fix issues. Discord only allows a max offset of 5000 (this is what causes the magnifying glass error). This means that you can only see precisely 5000 messages into the past, and 5000 messages into the future (when sorting by old). This plugin just jumps to the opposite sorting method to try get around Discord's restriction, but if there is a large search result, and you try to view a message that is unobtainable with both methods of sorting, the plugin will simply show offset 0 (either newest or oldest message depending on the sorting method).,
- authors: [Devs.jaxx],
+ authors: [EquicordDevs.jaxx],
patches: [
{
find: '"SearchStore"',
diff --git a/src/equicordplugins/sekaiStickers/characters.json.ts b/src/equicordplugins/sekaiStickers/characters.json.ts
index b28caa8f3..70cf97a51 100644
--- a/src/equicordplugins/sekaiStickers/characters.json.ts
+++ b/src/equicordplugins/sekaiStickers/characters.json.ts
@@ -5032,4 +5032,4 @@ export const characters = [
}
}
-];
\ No newline at end of file
+];
diff --git a/src/equicordplugins/sekaiStickers/index.tsx b/src/equicordplugins/sekaiStickers/index.tsx
index 0797c77ff..7b324361f 100644
--- a/src/equicordplugins/sekaiStickers/index.tsx
+++ b/src/equicordplugins/sekaiStickers/index.tsx
@@ -1,4 +1,3 @@
-
/*
* Vencord, a Discord client mod
* Copyright (c) 2024 Vendicated and contributors
diff --git a/src/equicordplugins/serverProfilesToolBox/index.tsx b/src/equicordplugins/serverProfilesToolBox/index.tsx
index 55a983838..51dcb547e 100644
--- a/src/equicordplugins/serverProfilesToolBox/index.tsx
+++ b/src/equicordplugins/serverProfilesToolBox/index.tsx
@@ -91,4 +91,4 @@ export default definePlugin({
}
],
-});
\ No newline at end of file
+});
diff --git a/src/equicordplugins/showBadgesInChat/index.tsx b/src/equicordplugins/showBadgesInChat/index.tsx
index f8bbe30a1..f89dd5041 100644
--- a/src/equicordplugins/showBadgesInChat/index.tsx
+++ b/src/equicordplugins/showBadgesInChat/index.tsx
@@ -5,7 +5,7 @@
*/
import { addDecoration, removeDecoration } from "@api/MessageDecorations";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import { isPluginDev } from "@utils/misc";
import definePlugin from "@utils/types";
import { findByPropsLazy } from "@webpack";
@@ -46,6 +46,19 @@ function CheckBadge({ badge, author }: { badge: string; author: any; }): JSX.Ele
))}
);
+ case "EquicordDonor":
+ return (
+
+ {badges.getEquicordDonorBadges(author.id)?.map((badge: any) => (
+
+ ))}
+
+ );
case "VencordContributer":
return isPluginDev(author.id) ? (
@@ -96,6 +109,7 @@ function ChatBadges({ author }: any) {
return (
{settings.store.showVencordDonor && }
+ {settings.store.showVencordDonor && }
{settings.store.showVencordContributor && }
{settings.store.showDiscordProfile && }
{settings.store.showDiscordNitro && }
@@ -105,7 +119,7 @@ function ChatBadges({ author }: any) {
export default definePlugin({
name: "ShowBadgesInChat",
- authors: [Devs.Inbestigator, Devs.KrystalSkull],
+ authors: [Devs.Inbestigator, EquicordDevs.KrystalSkull],
description: "Shows the message author's badges beside their name in chat.",
dependencies: ["MessageDecorationsAPI"],
patches: [
diff --git a/src/equicordplugins/showBadgesInChat/settings.tsx b/src/equicordplugins/showBadgesInChat/settings.tsx
index 0dfadfe2e..57a19c997 100644
--- a/src/equicordplugins/showBadgesInChat/settings.tsx
+++ b/src/equicordplugins/showBadgesInChat/settings.tsx
@@ -23,6 +23,18 @@ const settings = definePluginSettings({
hidden: true,
default: 0
},
+ showEquicordDonor: {
+ type: OptionType.BOOLEAN,
+ description: "Enable to show Vencord donor badges in chat.",
+ hidden: true,
+ default: true
+ },
+ EquicordDonorPosition: {
+ type: OptionType.NUMBER,
+ description: "The position of the Vencord Donor badges.",
+ hidden: true,
+ default: 1
+ },
showVencordContributor: {
type: OptionType.BOOLEAN,
description: "Enable to show Vencord contributor badges in chat.",
@@ -33,7 +45,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Vencord Contributor badge.",
hidden: true,
- default: 1
+ default: 2
},
showDiscordProfile: {
type: OptionType.BOOLEAN,
@@ -45,7 +57,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Discord profile badges.",
hidden: true,
- default: 2
+ default: 3
},
showDiscordNitro: {
type: OptionType.BOOLEAN,
@@ -57,7 +69,7 @@ const settings = definePluginSettings({
type: OptionType.NUMBER,
description: "The position of the Discord Nitro badge.",
hidden: true,
- default: 3
+ default: 4
},
badgeSettings: {
type: OptionType.COMPONENT,
@@ -71,6 +83,7 @@ export default settings;
const BadgeSettings = () => {
const [images, setImages] = useState([
{ src: "https://cdn.discordapp.com/emojis/1026533070955872337.png", shown: settings.store.showVencordDonor, title: "Vencord donor badges", key: "VencordDonor", position: settings.store.VencordDonorPosition },
+ { 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/OypoHrV.png", shown: settings.store.showVencordContributor, title: "Vencord/Equicord contributor badge", key: "VencordContributer", position: settings.store.VencordContributorPosition },
{ src: "https://cdn.discordapp.com/badge-icons/bf01d1073931f921909045f3a39fd264.png", shown: settings.store.showDiscordProfile, title: "Discord profile badges (HypeSquad, Discord Staff, Active Developer, etc.)", key: "DiscordProfile", position: settings.store.DiscordProfilePosition },
{ src: "https://cdn.discordapp.com/badge-icons/2ba85e8026a8614b640c2837bcdfe21b.png", shown: settings.store.showDiscordNitro, title: "Nitro badge", key: "DiscordNitro", position: settings.store.DiscordNitroPosition }
@@ -83,6 +96,10 @@ const BadgeSettings = () => {
settings.store.VencordDonorPosition = image.position;
settings.store.showVencordDonor = image.shown;
break;
+ case "EquiordDonor":
+ settings.store.EquicordDonorPosition = image.position;
+ settings.store.showEquicordDonor = image.shown;
+ break;
case "VencordContributer":
settings.store.VencordContributorPosition = image.position;
settings.store.showVencordContributor = image.shown;
diff --git a/src/equicordplugins/soundBoardLogger/index.tsx b/src/equicordplugins/soundBoardLogger/index.tsx
index 5cd198798..4b72e2ad3 100644
--- a/src/equicordplugins/soundBoardLogger/index.tsx
+++ b/src/equicordplugins/soundBoardLogger/index.tsx
@@ -6,7 +6,7 @@
import { addChatBarButton, ChatBarButton, removeChatBarButton } from "@api/ChatButtons";
import { disableStyle, enableStyle } from "@api/Styles";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { FluxDispatcher } from "@webpack/common";
@@ -29,10 +29,10 @@ const chatBarIcon: ChatBarButton = () => {
export default definePlugin({
name: "SoundBoardLogger",
authors: [
- Devs.ImpishMoxxie,
- Devs.fres,
+ EquicordDevs.Moxxie,
+ EquicordDevs.fres,
Devs.echo,
- Devs.thororen
+ EquicordDevs.thororen
],
settings,
patches: [
diff --git a/src/equicordplugins/unlimitedAccounts/index.ts b/src/equicordplugins/unlimitedAccounts/index.ts
index c8e123518..cbeb3b5e9 100644
--- a/src/equicordplugins/unlimitedAccounts/index.ts
+++ b/src/equicordplugins/unlimitedAccounts/index.ts
@@ -16,13 +16,13 @@
* along with this program. If not, see .
*/
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "UnlimitedAccounts",
description: "Increases the amount of accounts you can add.",
- authors: [Devs.Balaclava, Devs.thororen],
+ authors: [EquicordDevs.Balaclava, EquicordDevs.thororen],
patches: [
{
find: "multiaccount_cta_tooltip_seen",
diff --git a/src/equicordplugins/usrpfp/index.tsx b/src/equicordplugins/usrpfp/index.tsx
index 61bf78304..eba6a6f76 100644
--- a/src/equicordplugins/usrpfp/index.tsx
+++ b/src/equicordplugins/usrpfp/index.tsx
@@ -6,7 +6,7 @@
import { definePluginSettings } from "@api/Settings";
import { Link } from "@components/Link";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { User } from "discord-types/general";
@@ -33,7 +33,7 @@ export default definePlugin({
name: "UserPFP",
description: "Allows you to use an animated avatar without Nitro",
- authors: [Devs.nexpid, Devs.thororen, Devs.FoxStorm1, Devs.coolesding],
+ authors: [EquicordDevs.nexpid, EquicordDevs.thororen, EquicordDevs.FoxStorm1, EquicordDevs.coolesding],
settings,
settingsAboutComponent: () => (
<>
diff --git a/src/equicordplugins/voiceChatUtils/index.tsx b/src/equicordplugins/voiceChatUtils/index.tsx
index 4db1e09d6..4c0777750 100644
--- a/src/equicordplugins/voiceChatUtils/index.tsx
+++ b/src/equicordplugins/voiceChatUtils/index.tsx
@@ -5,7 +5,7 @@
*/
import { NavContextMenuPatchCallback } from "@api/ContextMenu";
-import { Devs } from "@utils/constants";
+import { Devs, EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { findStoreLazy } from "@webpack";
import { GuildChannelStore, Menu, React, RestAPI, UserStore } from "@webpack/common";
@@ -125,8 +125,8 @@ const VoiceChannelContext: NavContextMenuPatchCallback = (children, { channel }:
export default definePlugin({
name: "VoiceChatUtilities",
description: "This plugin allows you to perform multiple actions on an entire channel (move, mute, disconnect, etc.) (originally by dutake)",
- authors: [Devs.Dams, Devs.D3SOX],
+ authors: [EquicordDevs.Dams, Devs.D3SOX],
contextMenus: {
"channel-context": VoiceChannelContext
},
-});
\ No newline at end of file
+});
diff --git a/src/equicordplugins/voiceDownload/index.tsx b/src/equicordplugins/voiceDownload/index.tsx
index 6c89f39bb..8ee9a2a49 100644
--- a/src/equicordplugins/voiceDownload/index.tsx
+++ b/src/equicordplugins/voiceDownload/index.tsx
@@ -7,13 +7,13 @@
import "./style.css";
import ErrorBoundary from "@components/ErrorBoundary";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
export default definePlugin({
name: "VoiceDownload",
description: "Download voice messages.",
- authors: [Devs.puv],
+ authors: [EquicordDevs.puv],
patches: [
{
find: ".rippleContainer",
diff --git a/src/equicordplugins/whosWatching/index.tsx b/src/equicordplugins/whosWatching/index.tsx
index 924492694..215502508 100644
--- a/src/equicordplugins/whosWatching/index.tsx
+++ b/src/equicordplugins/whosWatching/index.tsx
@@ -6,7 +6,7 @@
import { classNameFactory } from "@api/Styles";
import { Flex } from "@components/Flex";
-import { Devs } from "@utils/constants";
+import { EquicordDevs } from "@utils/constants";
import definePlugin from "@utils/types";
import { findByPropsLazy, findStoreLazy } from "@webpack";
import { Forms, i18n, RelationshipStore, Tooltip, UserStore, useStateFromStores } from "@webpack/common";
@@ -54,7 +54,7 @@ const { encodeStreamKey }: {
export default definePlugin({
name: "WhosWatching",
description: "Lets you view what users are watching your stream by hovering over the screenshare icon",
- authors: [Devs.fres],
+ authors: [EquicordDevs.fres],
patches: [
{
find: ".Masks.STATUS_SCREENSHARE,width:32",
diff --git a/src/plugins/_api/badges.tsx b/src/plugins/_api/badges.tsx
index 804b7fd5a..5494d387a 100644
--- a/src/plugins/_api/badges.tsx
+++ b/src/plugins/_api/badges.tsx
@@ -45,24 +45,24 @@ const ContributorBadge: ProfileBadge = {
};
let DonorBadges = {} as Record>>;
+let EquicordDonorBadges = {} as Record>>;
-async function loadBadges(noCache = false) {
-
- DonorBadges = {};
-
+async function loadBadges(url: string, noCache = false) {
const init = {} as RequestInit;
- if (noCache)
- init.cache = "no-cache";
+ if (noCache) init.cache = "no-cache";
- const one = await fetch("https://badges.vencord.dev/badges.json", init)
- .then(r => r.json());
-
- const two = await fetch("https://raw.githubusercontent.com/Equicord/Ignore/main/badges.json", init)
- .then(r => r.json());
-
- DonorBadges = { ...one, ...two };
+ return await fetch(url, init).then(r => r.json());
}
+async function loadAllBadges(noCache = false) {
+ const vencordBadges = await loadBadges("https://badges.vencord.dev/badges.json", noCache);
+ const equicordBadges = await loadBadges("https://raw.githubusercontent.com/Equicord/Ignore/main/badges.json", noCache);
+
+ DonorBadges = vencordBadges;
+ EquicordDonorBadges = equicordBadges;
+}
+
+
export default definePlugin({
name: "BadgeAPI",
description: "API to add badges to users.",
@@ -99,7 +99,7 @@ export default definePlugin({
toolboxActions: {
async "Refetch Badges"() {
- await loadBadges(true);
+ await loadAllBadges(true);
Toasts.show({
id: Toasts.genId(),
message: "Successfully refetched badges!",
@@ -110,7 +110,7 @@ export default definePlugin({
async start() {
Vencord.Api.Badges.addBadge(ContributorBadge);
- await loadBadges();
+ await loadAllBadges();
},
renderBadgeComponent: ErrorBoundary.wrap((badge: ProfileBadge & BadgeUserArgs) => {
@@ -186,5 +186,75 @@ export default definePlugin({
));
},
}));
+ },
+
+ getEquicordDonorBadges(userId: string) {
+ return EquicordDonorBadges[userId]?.map(badge => ({
+ image: badge.badge,
+ description: badge.tooltip,
+ position: BadgePosition.START,
+ props: {
+ style: {
+ borderRadius: "50%",
+ transform: "scale(0.9)" // The image is a bit too big compared to default badges
+ }
+ },
+ onClick() {
+ const modalKey = openModal(props => (
+ {
+ closeModal(modalKey);
+ // Will get my own in the future
+ VencordNative.native.openExternal("https://github.com/sponsors/Vendicated");
+ }}>
+
+
+
+
+
+ Equicord Donor
+
+
+
+
+
+
+
+
+
+
+ This Badge is a special perk for Equicord Donors
+
+
+ Please consider supporting the development of Equicord by becoming a donor. It would mean a lot!!
+
+