From 04be8a25d3a1e17b0572b4dc80f0beab8ee53085 Mon Sep 17 00:00:00 2001 From: "artsem@binary.com" Date: Mon, 11 Apr 2022 13:24:38 +0300 Subject: [PATCH 1/4] disable popovers + change color if user is barred --- .../src/components/icon/common/ic-archive.svg | 2 +- .../components/icon/common/ic-unarchive.svg | 2 +- .../components/my-ads/my-ads-row-renderer.jsx | 45 ++++++++++++------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/packages/components/src/components/icon/common/ic-archive.svg b/packages/components/src/components/icon/common/ic-archive.svg index a8ceb541f728..ab6806b29496 100644 --- a/packages/components/src/components/icon/common/ic-archive.svg +++ b/packages/components/src/components/icon/common/ic-archive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/src/components/icon/common/ic-unarchive.svg b/packages/components/src/components/icon/common/ic-unarchive.svg index e29c769f560f..105fcd1fe7d7 100644 --- a/packages/components/src/components/icon/common/ic-unarchive.svg +++ b/packages/components/src/components/icon/common/ic-unarchive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx index 48064a233193..67626f815cfe 100644 --- a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx +++ b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx @@ -35,9 +35,8 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { const amount_dealt = amount - remaining_amount; const is_buy_advert = type === buy_sell.BUY; - const onClickActivateDeactivate = () => { - my_ads_store.onClickActivateDeactivate(id, is_advert_active, setIsAdvertActive); - }; + const onClickActivateDeactivate = () => + !general_store.is_barred && my_ads_store.onClickActivateDeactivate(id, is_advert_active, setIsAdvertActive); const onClickDelete = () => !general_store.is_barred && my_ads_store.onClickDelete(id); const onClickEdit = () => !general_store.is_barred && my_ads_store.onClickEdit(id); const onMouseEnter = () => setIsPopoverActionsVisible(true); @@ -161,13 +160,20 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ) : (
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }} + onClick={ + !general_store.is_barred && + (() => { + setAdvert(advert); + my_ads_store.showQuickAddModal(advert); + }) + } > - - + +
@@ -226,13 +232,20 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ) : (
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }} + onClick={ + !general_store.is_barred && + (() => { + setAdvert(advert); + my_ads_store.showQuickAddModal(advert); + }) + } > - - + +
@@ -281,7 +294,7 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { className='p2p-my-ads__table-popovers__edit' message={localize('Edit')} > - +
From ec07410b2f9aaf2f7fb1645d8485624c403fa32c Mon Sep 17 00:00:00 2001 From: "artsem@binary.com" Date: Wed, 20 Apr 2022 10:54:11 +0300 Subject: [PATCH 2/4] DRY for add payment method functionality --- .../components/my-ads/my-ads-row-renderer.jsx | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx index 67626f815cfe..06910c9c1b0f 100644 --- a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx +++ b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx @@ -35,6 +35,12 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { const amount_dealt = amount - remaining_amount; const is_buy_advert = type === buy_sell.BUY; + const onClickAddPaymentMethod = () => { + if (!general_store.is_barred) { + setAdvert(advert); + my_ads_store.showQuickAddModal(advert); + } + }; const onClickActivateDeactivate = () => !general_store.is_barred && my_ads_store.onClickActivateDeactivate(id, is_advert_active, setIsAdvertActive); const onClickDelete = () => !general_store.is_barred && my_ads_store.onClickDelete(id); @@ -158,16 +164,7 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ); }) ) : ( -
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }) - } - > +
{ ) : (
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }) - } + onClick={!general_store.is_barred && onClickAddPaymentMethod} > Date: Wed, 20 Apr 2022 11:04:55 +0300 Subject: [PATCH 3/4] remove redundant condition --- packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx index 06910c9c1b0f..cd0ab5bf159f 100644 --- a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx +++ b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx @@ -227,10 +227,7 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ); }) ) : ( -
+
Date: Wed, 20 Apr 2022 12:08:06 +0300 Subject: [PATCH 4/4] replace condition check from component to store --- .../components/my-ads/my-ads-row-renderer.jsx | 6 ++-- packages/p2p/src/stores/my-ads-store.js | 32 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx index cd0ab5bf159f..bce7ed0f56b0 100644 --- a/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx +++ b/packages/p2p/src/components/my-ads/my-ads-row-renderer.jsx @@ -42,9 +42,9 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { } }; const onClickActivateDeactivate = () => - !general_store.is_barred && my_ads_store.onClickActivateDeactivate(id, is_advert_active, setIsAdvertActive); - const onClickDelete = () => !general_store.is_barred && my_ads_store.onClickDelete(id); - const onClickEdit = () => !general_store.is_barred && my_ads_store.onClickEdit(id); + my_ads_store.onClickActivateDeactivate(id, is_advert_active, setIsAdvertActive); + const onClickDelete = () => my_ads_store.onClickDelete(id); + const onClickEdit = () => my_ads_store.onClickEdit(id); const onMouseEnter = () => setIsPopoverActionsVisible(true); const onMouseLeave = () => setIsPopoverActionsVisible(false); diff --git a/packages/p2p/src/stores/my-ads-store.js b/packages/p2p/src/stores/my-ads-store.js index 9d6c83247417..0cb904e21848 100644 --- a/packages/p2p/src/stores/my-ads-store.js +++ b/packages/p2p/src/stores/my-ads-store.js @@ -189,14 +189,16 @@ export default class MyAdsStore extends BaseStore { @action.bound onClickActivateDeactivate(id, is_ad_active, setIsAdvertActive) { - requestWS({ p2p_advert_update: 1, id, is_active: is_ad_active ? 0 : 1 }).then(response => { - if (response.error) { - this.setActivateDeactivateErrorMessage(response.error.message); - } else { - setIsAdvertActive(!!response.p2p_advert_update.is_active); - } - this.setSelectedAdId(''); - }); + if (!this.root_store.general_store.is_barred) { + requestWS({ p2p_advert_update: 1, id, is_active: is_ad_active ? 0 : 1 }).then(response => { + if (response.error) { + this.setActivateDeactivateErrorMessage(response.error.message); + } else { + setIsAdvertActive(!!response.p2p_advert_update.is_active); + } + this.setSelectedAdId(''); + }); + } } @action.bound @@ -226,15 +228,19 @@ export default class MyAdsStore extends BaseStore { @action.bound onClickDelete(id) { - this.setSelectedAdId(id); - this.setIsDeleteModalOpen(true); + if (!this.root_store.general_store.is_barred) { + this.setSelectedAdId(id); + this.setIsDeleteModalOpen(true); + } } @action.bound onClickEdit(id) { - this.setSelectedAdId(id); - this.setShowEditAdForm(true); - this.getAdvertInfo(); + if (!this.root_store.general_store.is_barred) { + this.setSelectedAdId(id); + this.setShowEditAdForm(true); + this.getAdvertInfo(); + } } @action.bound