Make Donor Badge Api Based
Some checks are pending
Sync to Codeberg / Sync Codeberg and Github (push) Waiting to run
Test / Test (push) Waiting to run
Release / Build Equicord (push) Waiting to run

This commit is contained in:
thororen1234 2025-03-15 19:25:05 -04:00
parent f22464f1ce
commit bbb641b378
No known key found for this signature in database
2 changed files with 20 additions and 6 deletions

View file

@ -24,6 +24,7 @@ import ErrorBoundary from "@components/ErrorBoundary";
import { Flex } from "@components/Flex";
import { Heart } from "@components/Heart";
import { openContributorModal } from "@components/PluginSettings/ContributorModal";
import { isEquicordDonor } from "@components/VencordSettings/VencordTab";
import { Devs } from "@utils/constants";
import { Logger } from "@utils/Logger";
import { Margins } from "@utils/margins";
@ -35,6 +36,7 @@ import { User } from "discord-types/general";
const CONTRIBUTOR_BADGE = "https://vencord.dev/assets/favicon.png";
const EQUICORD_CONTRIBUTOR_BADGE = "https://i.imgur.com/57ATLZu.png";
const EQUICORD_DONOR_BADGE = "https://cdn.nest.rip/uploads/78cb1e77-b7a6-4242-9089-e91f866159bf.png";
const ContributorBadge: ProfileBadge = {
description: "Vencord Contributor",
@ -52,6 +54,17 @@ const EquicordContributorBadge: ProfileBadge = {
onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
};
const EquicordDonorBadge: ProfileBadge = {
description: "Equicord Donor",
image: EQUICORD_DONOR_BADGE,
position: BadgePosition.START,
shouldShow: ({ userId }) => {
const donorBadges = EquicordDonorBadges[userId]?.map(badge => badge.badge);
const hasDonorBadge = donorBadges?.includes("https://cdn.nest.rip/uploads/78cb1e77-b7a6-4242-9089-e91f866159bf.png");
return isEquicordDonor(userId) && !hasDonorBadge;
}
};
let DonorBadges = {} as Record<string, Array<Record<"tooltip" | "badge", string>>>;
let EquicordDonorBadges = {} as Record<string, Array<Record<"tooltip" | "badge", string>>>;
@ -118,6 +131,7 @@ export default definePlugin({
async start() {
Vencord.Api.Badges.addProfileBadge(ContributorBadge);
Vencord.Api.Badges.addProfileBadge(EquicordContributorBadge);
Vencord.Api.Badges.addProfileBadge(EquicordDonorBadge);
await loadAllBadges();
},