forked from deriv-com/p2p
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAdvertiserNameBadges.tsx
47 lines (44 loc) · 2.09 KB
/
AdvertiserNameBadges.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { DeepPartial, TAdvertiserStats } from 'types';
import { Badge } from '@/components';
import { useGetPhoneNumberVerification } from '@/hooks/custom-hooks';
import { getCurrentRoute } from '@/utils';
import { useTranslations } from '@deriv-com/translations';
import './AdvertiserNameBadges.scss';
/**
* This component is used to show an advertiser's badge, for instance:
* +100 Trades, ID verified, Address not verified, etc
*
* Use cases are usually in My Profile page and Advertiser page used under the advertiser's name
*/
const AdvertiserNameBadges = ({ advertiserStats }: { advertiserStats: DeepPartial<TAdvertiserStats> }) => {
const { isAddressVerified, isIdentityVerified, totalOrders } = advertiserStats || {};
const { isPhoneNumberVerificationEnabled, isPhoneNumberVerified } = useGetPhoneNumberVerification();
const { localize } = useTranslations();
const getStatus = (isVerified?: boolean) => (isVerified ? localize('verified') : localize('not verified'));
const getVariant = (isVerified?: boolean) => (isVerified ? 'success' : 'general');
const isMyProfile = getCurrentRoute() === 'my-profile';
return (
<div className='advertiser-name-badges' data-testid='dt_advertiser_name_badges'>
{(totalOrders || 0) >= 100 && <Badge status={localize('trades')} tradeCount={totalOrders} />}
<Badge
label={localize('ID')}
status={getStatus(isIdentityVerified)}
variant={getVariant(isIdentityVerified)}
/>
<Badge
label={localize('Address')}
status={getStatus(isAddressVerified)}
variant={getVariant(isAddressVerified)}
/>
{isPhoneNumberVerificationEnabled && isMyProfile && (
<Badge
label={localize('Mobile')}
status={getStatus(isPhoneNumberVerified)}
variant={getVariant(isPhoneNumberVerified)}
/>
)}
</div>
);
};
AdvertiserNameBadges.displayName = 'AdvertiserNameBadges';
export default AdvertiserNameBadges;