Skip to content

Commit

Permalink
chore: separated card component out, removed test case
Browse files Browse the repository at this point in the history
  • Loading branch information
ameerul-deriv committed Jul 27, 2023
1 parent faec3f1 commit 1bc9a83
Show file tree
Hide file tree
Showing 7 changed files with 216 additions and 219 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import ShareMyAdsCard from './share-my-ads-card';
import './share-my-ads-card.scss';

export default ShareMyAdsCard;
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
.share-my-ads-card {
background: linear-gradient(349deg, var(--general-section-1) 36%, var(--brand-red-coral) 25%);
display: flex;
flex-direction: column;
justify-content: center;
margin-bottom: 1.5rem;
padding: 2rem;
position: relative;

@include mobile {
width: 90%;
}

&__icon {
height: 16px;
width: max-content;
margin: 1rem 0 3rem;

@include mobile {
margin-top: 0;
}
}

&__numbers {
display: flex;
flex-direction: row;

&-text {
display: flex;
flex-direction: column;
margin-bottom: 1rem;

&:first-child {
margin-right: 1rem;
}

&:last-child {
margin-bottom: 0;
}
}
}

&__qr {
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
margin-top: 2rem;

@include mobile {
margin-top: 1rem;
}

&-container {
background-color: #fff;
display: flex;
padding: 0.4rem;
border: 0.1rem solid var(--general-active);
border-radius: 1rem;
position: relative;
width: fit-content;
}

&-text {
margin: 1.5rem 0 2rem;

@include mobile {
margin-bottom: 0;
}
}
}

&__title {
margin-bottom: 2rem;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import React from 'react';
import { QRCode } from 'react-qrcode-logo';
import { Text } from '@deriv/components';
import { isMobile } from '@deriv/shared';
import { Localize } from 'Components/i18next';
import { base64_images } from 'Constants/base64-images';
import { TAdvertProps } from 'Types';

type TShareMyAdsPopupProps = {
advert: TAdvertProps;
advert_url: string;
divRef: React.MutableRefObject<HTMLDivElement>;
};

const ShareMyAdsCard = ({ advert, advert_url, divRef }: TShareMyAdsPopupProps) => {
const { account_currency, id, max_order_amount_limit_display, min_order_amount_limit_display, rate_display, type } =
advert;

const options = {
enableCORS: true,
size: isMobile() ? 120 : 150,
removeQrCodeBehindLogo: true,
logoPadding: 4,
logoImage: base64_images.dp2p_logo,
logoWidth: isMobile() ? 30 : 40,
logoHeight: isMobile() ? 30 : 40,
logoOpacity: 1,
};

return (
<div className='share-my-ads-card' ref={divRef}>
<img className='share-my-ads-card__icon' src={base64_images.deriv_p2p} />
<Text className='share-my-ads-card__title' weight='bold' size='m'>
<Localize i18n_default_text='{{type}} {{account_currency}}' values={{ type, account_currency }} />
</Text>
<div className='share-my-ads-card__numbers'>
<div className='share-my-ads-card__numbers-text'>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='ID number' />
</Text>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='Limit' />
</Text>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='Rate' />
</Text>
</div>
<div className='share-my-ads-card__numbers-text'>
<Text color='colored-background' size='xs' weight='bold'>
<Localize i18n_default_text='{{id}}' values={{ id }} />
</Text>
<Text color='colored-background' size='xs' weight='bold'>
<Localize
i18n_default_text='{{min_order_amount_limit_display}} - {{max_order_amount_limit_display}} {{account_currency}}'
values={{
min_order_amount_limit_display,
max_order_amount_limit_display,
account_currency,
}}
/>
</Text>
<Text color='colored-background' size='xs' weight='bold'>
<Localize i18n_default_text='{{rate_display}}%' values={{ rate_display }} />
</Text>
</div>
</div>
<div className='share-my-ads-card__qr'>
<div className='share-my-ads-card__qr-container'>
<QRCode value={advert_url} {...options} />
</div>
<Text className='share-my-ads-card__qr-text' color='less-prominent' size='xxs'>
<Localize i18n_default_text='Scan this code to order via Deriv P2P' />
</Text>
</div>
</div>
);
};

export default ShareMyAdsCard;
Original file line number Diff line number Diff line change
Expand Up @@ -45,88 +45,11 @@
}
}

&-details {
background: linear-gradient(349deg, var(--general-section-1) 36%, var(--brand-red-coral) 25%);
display: flex;
flex-direction: column;
justify-content: center;
margin-bottom: 1.5rem;
padding: 2rem;
position: relative;

@include mobile {
width: 90%;
}

&-icon {
height: 16px;
width: max-content;
margin: 1rem 0 3rem;

@include mobile {
margin-top: 0;
}
}

&--numbers {
display: flex;
flex-direction: row;

&-text {
display: flex;
flex-direction: column;
margin-bottom: 1rem;

&:first-child {
margin-right: 1rem;
}

&:last-child {
margin-bottom: 0;
}
}
}

&-title {
margin-bottom: 2rem;
}
}

&__download-button {
@include mobile {
width: 100%;
}
}

&-qr {
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
margin-top: 2rem;

@include mobile {
margin-top: 1rem;
}

&__background {
background-color: #fff;
display: flex;
padding: 0.4rem;
border: 0.1rem solid var(--general-active);
border-radius: 1rem;
position: relative;
width: fit-content;
}

&__text {
margin: 1.5rem 0 2rem;

@include mobile {
margin-bottom: 0;
}
}
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import React from 'react';
import { toPng } from 'html-to-image';
import { QRCode } from 'react-qrcode-logo';
import {
Button,
Clipboard,
Expand All @@ -11,17 +10,17 @@ import {
Text,
useCopyToClipboard,
} from '@deriv/components';
import { isMobile, useIsMounted } from '@deriv/shared';
import { useIsMounted } from '@deriv/shared';
import { observer } from '@deriv/stores';
import { Localize, localize } from 'Components/i18next';
import { useModalManagerContext } from 'Components/modal-manager/modal-manager-context';
import MyProfileSeparatorContainer from 'Components/my-profile/my-profile-separator-container';
import { base64_images } from 'Constants/base64-images';
import { TAdvertProps } from 'Types';
import { TAdvert } from 'Types';
import ShareMyAdsIcons from './share-my-ads-socials';
import ShareMyAdsPopup from './share-my-ads-popup';
import ShareMyAdsCard from './share-my-ads-card';

const ShareMyAdsModal = ({ advert }: TAdvertProps) => {
const ShareMyAdsModal = ({ advert }: TAdvert) => {
const [show_popup, setShowPopup] = React.useState(false);
const [is_copied, copyToClipboard, setIsCopied] = useCopyToClipboard();

Expand All @@ -31,19 +30,6 @@ const ShareMyAdsModal = ({ advert }: TAdvertProps) => {
const advert_url = window.location.href;

const { hideModal, is_modal_open } = useModalManagerContext();
const { account_currency, id, max_order_amount_limit_display, min_order_amount_limit_display, rate_display, type } =
advert;

const options = {
enableCORS: true,
size: isMobile() ? 120 : 150,
removeQrCodeBehindLogo: true,
logoPadding: 4,
logoImage: base64_images.dp2p_logo,
logoWidth: isMobile() ? 30 : 40,
logoHeight: isMobile() ? 30 : 40,
logoOpacity: 1,
};

let timeout_clipboard: ReturnType<typeof setTimeout>;

Expand Down Expand Up @@ -93,65 +79,7 @@ const ShareMyAdsModal = ({ advert }: TAdvertProps) => {
</DesktopWrapper>
<div className='share-my-ads-modal__container'>
<div className='share-my-ads-modal__container__card'>
<div className='share-my-ads-modal__container__card-details' ref={divRef}>
<img
className='share-my-ads-modal__container__card-details-icon'
src={base64_images.deriv_p2p}
/>
<Text
className='share-my-ads-modal__container__card-details-title'
weight='bold'
size='m'
>
<Localize
i18n_default_text='{{type}} {{account_currency}}'
values={{ type, account_currency }}
/>
</Text>
<div className='share-my-ads-modal__container__card-details--numbers'>
<div className='share-my-ads-modal__container__card-details--numbers-text'>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='ID number' />
</Text>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='Limit' />
</Text>
<Text color='colored-background' size='xs'>
<Localize i18n_default_text='Rate' />
</Text>
</div>
<div className='share-my-ads-modal__container__card-details--numbers-text'>
<Text color='colored-background' size='xs' weight='bold'>
<Localize i18n_default_text='{{id}}' values={{ id }} />
</Text>
<Text color='colored-background' size='xs' weight='bold'>
<Localize
i18n_default_text='{{min_order_amount_limit_display}} - {{max_order_amount_limit_display}} {{account_currency}}'
values={{
min_order_amount_limit_display,
max_order_amount_limit_display,
account_currency,
}}
/>
</Text>
<Text color='colored-background' size='xs' weight='bold'>
<Localize i18n_default_text='{{rate_display}}%' values={{ rate_display }} />
</Text>
</div>
</div>
<div className='share-my-ads-modal__container__card-qr'>
<div className='share-my-ads-modal__container__card-qr__background'>
<QRCode value={advert_url} {...options} />
</div>
<Text
className='share-my-ads-modal__container__card-qr__text'
color='less-prominent'
size='xxs'
>
<Localize i18n_default_text='Scan this code to order via Deriv P2P' />
</Text>
</div>
</div>
<ShareMyAdsCard advert={advert} advert_url={advert_url} divRef={divRef} />
<Button
className='share-my-ads-modal__container__card__download-button'
secondary
Expand Down

This file was deleted.

Loading

0 comments on commit 1bc9a83

Please sign in to comment.