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) */
component?: ComponentType<ProfileBadge & BadgeUserArgs>;
/** The custom image to use */
image?: string;
iconSrc?: string;
link?: string;
/** Action to perform when you click the badge */
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 = {
description: "Vencord Contributor",
image: CONTRIBUTOR_BADGE,
iconSrc: CONTRIBUTOR_BADGE,
position: BadgePosition.START,
shouldShow: ({ userId }) => shouldShowContributorBadge(userId),
onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
@@ -70,11 +70,11 @@ function BadgeContextMenu({ badge }: { badge: ProfileBadge & BadgeUserArgs; }) {
action={() => copyWithToast(badge.description!)}
/>
)}
{badge.image && (
{badge.iconSrc && (
<Menu.MenuItem
id="vc-badge-copy-link"
label="Copy Badge Image Link"
action={() => copyWithToast(badge.image!)}
action={() => copyWithToast(badge.iconSrc!)}
/>
)}
</Menu.Menu>
@@ -98,8 +98,8 @@ export default definePlugin({
find: "#{intl::PROFILE_USER_BADGES}",
replacement: [
{
match: /(alt:" ","aria-hidden":!0,src:)(.+?)(?=,)(?<=href:(\i)\.link.+?)/,
replace: (_, rest, originalSrc, badge) => `...${badge}.props,${rest}${badge}.image??(${originalSrc})`
match: /alt:" ","aria-hidden":!0,src:.{0,50}(\i).iconSrc/,
replace: "...$1.props,$&"
},
{
match: /(?<="aria-label":(\i)\.description,.{0,200})children:/,
@@ -184,7 +184,7 @@ export default definePlugin({
getDonorBadges(userId: string) {
return DonorBadges[userId]?.map(badge => ({
image: badge.badge,
iconSrc: badge.badge,
description: badge.tooltip,
position: BadgePosition.START,
props: {

View File

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

View File

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