diff --git a/src/pages/ListingDetailPage.tsx b/src/pages/ListingDetailPage.tsx index 9b1f1a4..ffc4b3d 100644 --- a/src/pages/ListingDetailPage.tsx +++ b/src/pages/ListingDetailPage.tsx @@ -23,6 +23,7 @@ import { useMarkListingSold } from '@/hooks/useMarkListingSold'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useAuthor } from '@/hooks/useAuthor'; import { useSellerInfo } from '@/hooks/useSellerInfo'; +import { useTradeReputation } from '@/hooks/useTradeAttestations'; import { useToast } from '@/hooks/useToast'; import { ErrorState } from '@/components/ErrorState'; import { formatPrice, GEAR_CONDITIONS, GEAR_CATEGORIES, isValidNoffer } from '@/lib/types'; @@ -40,6 +41,7 @@ import { Tag, Handshake, Share2, + ShieldAlert, } from 'lucide-react'; import { useTranslation } from '@/contexts/language'; @@ -61,6 +63,7 @@ export default function ListingDetailPage() { const author = useAuthor(pubkey); const metadata = author.data?.metadata; const { data: sellerInfo } = useSellerInfo(pubkey); + const { data: sellerReputation } = useTradeReputation(pubkey); const { relist, isPending: isUpdatingStatus } = useMarkListingSold(); const [lightboxIndex, setLightboxIndex] = useState(null); @@ -340,6 +343,17 @@ export default function ListingDetailPage() { ) : ( + {(sellerInfo?.accountAge !== undefined && sellerInfo.accountAge < 30) || + (sellerReputation && sellerReputation.verifiedCounterparties === 0) ? ( +
+

+ {t('marketUi.card.newSeller')} +

+

+ {t('marketTerms.safetyBody')} +

+
+ ) : null} {isValidNoffer(sellerNoffer) && (