From 04708a7092de93fa9f8bd7cee9fbf76249dd21c6 Mon Sep 17 00:00:00 2001
From: NanoAim <65581271+NanoAim@users.noreply.github.com>
Date: Tue, 16 Sep 2025 23:31:37 +0800
Subject: [PATCH] Add vendor message tag
---
public/assets/badges/verifiedvendor.svg | 26 ++++++++++++++++++
src/components/common/messaging/Message.tsx | 2 +-
src/components/common/user/UserShort.tsx | 30 +++++++++++++++++++++
3 files changed, 57 insertions(+), 1 deletion(-)
create mode 100644 public/assets/badges/verifiedvendor.svg
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;
},
);