diff --git a/public/assets/badges/verifiedvendor.svg b/public/assets/badges/verifiedvendor.svg new file mode 100644 index 00000000..d8024f5c --- /dev/null +++ b/public/assets/badges/verifiedvendor.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/common/messaging/Message.tsx b/src/components/common/messaging/Message.tsx index 8238bb31..92ea7c03 100644 --- a/src/components/common/messaging/Message.tsx +++ b/src/components/common/messaging/Message.tsx @@ -192,7 +192,7 @@ const Message = observer( (content ? content.length > 0 : false) } /> - ))} + ))} {message.embeds?.map((embed, index) => ( ))} diff --git a/src/components/common/user/UserShort.tsx b/src/components/common/user/UserShort.tsx index bcd0bdf2..86027d22 100644 --- a/src/components/common/user/UserShort.tsx +++ b/src/components/common/user/UserShort.tsx @@ -20,6 +20,14 @@ import UserIcon from "./UserIcon"; // Configuration constant for easy adjustment const NEW_MEMBER_THRESHOLD_DAYS = 14; +// Vendor badge flags - reusing existing enum values +const TRUSTED_SELLER_BADGE = 8; // ResponsibleDisclosure +const VERIFIED_VENDOR_BADGE = 512; // ReservedRelevantJokeBadge1 +const VERIFIED_MANUFACTURER_BADGE = 1024; // ReservedRelevantJokeBadge2 + +// Combined mask to check for any vendor badge +const VENDOR_BADGES_MASK = TRUSTED_SELLER_BADGE | VERIFIED_VENDOR_BADGE | VERIFIED_MANUFACTURER_BADGE; + const BotBadge = styled.div` display: inline-block; flex-shrink: 0; @@ -48,6 +56,13 @@ const NewHereBadge = styled.div` box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); `; +const TrustedSellerBadge = styled.img` + width: 18px; + height: 18px; + flex-shrink: 0; + vertical-align: middle; +`; + const BadgeWrapper = styled.span` display: flex; align-items: center; @@ -142,6 +157,9 @@ export const Username = observer( isNewHere = accountAge <= NEW_MEMBER_THRESHOLD_DAYS; } + // Check if user has any vendor badge + const hasVendorBadge = user && user.badges && (user.badges & VENDOR_BADGES_MASK); + const el = ( <> @@ -208,6 +226,18 @@ export const Username = observer( ); } + // Add vendor badge (for any of the three vendor types) + if (hasVendorBadge) { + return ( + + {el} + + + + + ); + } + return el; }, );