fix Badges not showing; fix IrcColors in group DM list (#3781)

Co-authored-by: Vendicated <vendicated@riseup.net>
This commit is contained in:
αλφρεδ
2025-11-15 03:25:23 -08:00
committed by GitHub
parent efe6f5c697
commit fb3d927f8c
4 changed files with 12 additions and 8 deletions

View File

@@ -31,7 +31,7 @@ export interface ProfileBadge {
/** Custom component for the badge (tooltip not included) */ /** Custom component for the badge (tooltip not included) */
component?: ComponentType<ProfileBadge & BadgeUserArgs>; component?: ComponentType<ProfileBadge & BadgeUserArgs>;
/** The custom image to use */ /** The custom image to use */
image?: string; iconSrc?: string;
link?: string; link?: string;
/** Action to perform when you click the badge */ /** Action to perform when you click the badge */
onClick?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void; onClick?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void;

View File

@@ -37,7 +37,7 @@ const CONTRIBUTOR_BADGE = "https://cdn.discordapp.com/emojis/1092089799109775453
const ContributorBadge: ProfileBadge = { const ContributorBadge: ProfileBadge = {
description: "Vencord Contributor", description: "Vencord Contributor",
image: CONTRIBUTOR_BADGE, iconSrc: CONTRIBUTOR_BADGE,
position: BadgePosition.START, position: BadgePosition.START,
shouldShow: ({ userId }) => shouldShowContributorBadge(userId), shouldShow: ({ userId }) => shouldShowContributorBadge(userId),
onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId)) onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
@@ -70,11 +70,11 @@ function BadgeContextMenu({ badge }: { badge: ProfileBadge & BadgeUserArgs; }) {
action={() => copyWithToast(badge.description!)} action={() => copyWithToast(badge.description!)}
/> />
)} )}
{badge.image && ( {badge.iconSrc && (
<Menu.MenuItem <Menu.MenuItem
id="vc-badge-copy-link" id="vc-badge-copy-link"
label="Copy Badge Image Link" label="Copy Badge Image Link"
action={() => copyWithToast(badge.image!)} action={() => copyWithToast(badge.iconSrc!)}
/> />
)} )}
</Menu.Menu> </Menu.Menu>
@@ -98,8 +98,8 @@ export default definePlugin({
find: "#{intl::PROFILE_USER_BADGES}", find: "#{intl::PROFILE_USER_BADGES}",
replacement: [ replacement: [
{ {
match: /(alt:" ","aria-hidden":!0,src:)(.+?)(?=,)(?<=href:(\i)\.link.+?)/, match: /alt:" ","aria-hidden":!0,src:.{0,50}(\i).iconSrc/,
replace: (_, rest, originalSrc, badge) => `...${badge}.props,${rest}${badge}.image??(${originalSrc})` replace: "...$1.props,$&"
}, },
{ {
match: /(?<="aria-label":(\i)\.description,.{0,200})children:/, match: /(?<="aria-label":(\i)\.description,.{0,200})children:/,
@@ -184,7 +184,7 @@ export default definePlugin({
getDonorBadges(userId: string) { getDonorBadges(userId: string) {
return DonorBadges[userId]?.map(badge => ({ return DonorBadges[userId]?.map(badge => ({
image: badge.badge, iconSrc: badge.badge,
description: badge.tooltip, description: badge.tooltip,
position: BadgePosition.START, position: BadgePosition.START,
props: { props: {

View File

@@ -127,7 +127,7 @@ export default definePlugin({
const colorString = context?.colorString; const colorString = context?.colorString;
const color = calculateNameColorForUser(id); const color = calculateNameColorForUser(id);
if (settings.store.applyColorOnlyInDms && !context?.channel?.isPrivate()) { if (settings.store.applyColorOnlyInDms && context?.guildId !== undefined) {
return colorString; return colorString;
} }

View File

@@ -606,6 +606,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({
name: "thororen", name: "thororen",
id: 848339671629299742n id: 848339671629299742n
}, },
alfred: {
name: "alfred",
id: 1038466644353232967n
}
} satisfies Record<string, Dev>); } satisfies Record<string, Dev>);
// iife so #__PURE__ works correctly // iife so #__PURE__ works correctly