vexcord/0001-Remove-donator-badges.patch
2024-04-26 14:21:38 +01:00

150 lines
5.9 KiB
Diff

From e25f5674bfbfe3d6a28f8536b857c0d1b9db6a9d Mon Sep 17 00:00:00 2001
From: 1024x2 <2pow11@gmail.com>
Date: Wed, 24 Apr 2024 23:30:05 +0100
Subject: [PATCH 1/7] Remove donator badges
It makes a request to an API hosted by the Vencord developer, without
any option to turn it off. This raises privacy concerns.
It's easiest to just get rid of the feature entirely.
---
src/api/Badges.ts | 3 +-
src/plugins/_api/badges.tsx | 95 -------------------------------------
2 files changed, 1 insertion(+), 97 deletions(-)
diff --git a/src/api/Badges.ts b/src/api/Badges.ts
index b50016c..3529693 100644
--- a/src/api/Badges.ts
+++ b/src/api/Badges.ts
@@ -79,8 +79,7 @@ export function _getBadges(args: BadgeUserArgs) {
: badges.push({ ...badge, ...args });
}
}
- const donorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(args.user.id);
- if (donorBadges) badges.unshift(...donorBadges);
+ void Plugins.BadgeAPI; // If I don't reference this everything breaks???
return badges;
}
diff --git a/src/plugins/_api/badges.tsx b/src/plugins/_api/badges.tsx
index 6b1a79c..27da6fa 100644
--- a/src/plugins/_api/badges.tsx
+++ b/src/plugins/_api/badges.tsx
@@ -44,19 +44,6 @@ const ContributorBadge: ProfileBadge = {
link: "https://github.com/Vendicated/Vencord"
};
-let DonorBadges = {} as Record<string, Array<Record<"tooltip" | "badge", string>>>;
-
-async function loadBadges(noCache = false) {
- DonorBadges = {};
-
- const init = {} as RequestInit;
- if (noCache)
- init.cache = "no-cache";
-
- DonorBadges = await fetch("https://badges.vencord.dev/badges.json", init)
- .then(r => r.json());
-}
-
export default definePlugin({
name: "BadgeAPI",
description: "API to add badges to users.",
@@ -91,94 +78,12 @@ export default definePlugin({
}
],
- toolboxActions: {
- async "Refetch Badges"() {
- await loadBadges(true);
- Toasts.show({
- id: Toasts.genId(),
- message: "Successfully refetched badges!",
- type: Toasts.Type.SUCCESS
- });
- }
- },
-
async start() {
Vencord.Api.Badges.addBadge(ContributorBadge);
- await loadBadges();
},
renderBadgeComponent: ErrorBoundary.wrap((badge: ProfileBadge & BadgeUserArgs) => {
const Component = badge.component!;
return <Component {...badge} />;
}, { noop: true }),
-
-
- getDonorBadges(userId: string) {
- return DonorBadges[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 => (
- <ErrorBoundary noop onError={() => {
- closeModal(modalKey);
- VencordNative.native.openExternal("https://github.com/sponsors/Vendicated");
- }}>
- <Modals.ModalRoot {...props}>
- <Modals.ModalHeader>
- <Flex style={{ width: "100%", justifyContent: "center" }}>
- <Forms.FormTitle
- tag="h2"
- style={{
- width: "100%",
- textAlign: "center",
- margin: 0
- }}
- >
- <Heart />
- Vencord Donor
- </Forms.FormTitle>
- </Flex>
- </Modals.ModalHeader>
- <Modals.ModalContent>
- <Flex>
- <img
- role="presentation"
- src="https://cdn.discordapp.com/emojis/1026533070955872337.png"
- alt=""
- style={{ margin: "auto" }}
- />
- <img
- role="presentation"
- src="https://cdn.discordapp.com/emojis/1026533090627174460.png"
- alt=""
- style={{ margin: "auto" }}
- />
- </Flex>
- <div style={{ padding: "1em" }}>
- <Forms.FormText>
- This Badge is a special perk for Vencord Donors
- </Forms.FormText>
- <Forms.FormText className={Margins.top20}>
- Please consider supporting the development of Vencord by becoming a donor. It would mean a lot!!
- </Forms.FormText>
- </div>
- </Modals.ModalContent>
- <Modals.ModalFooter>
- <Flex style={{ width: "100%", justifyContent: "center" }}>
- <DonateButton />
- </Flex>
- </Modals.ModalFooter>
- </Modals.ModalRoot>
- </ErrorBoundary>
- ));
- },
- }));
- }
});
--
2.44.0