From 5360d58363e9233084afe446ee21ad51072ebbb2 Mon Sep 17 00:00:00 2001 From: Artsem Kavaleu <103180478+artsemkavaleu-binary@users.noreply.github.com> Date: Thu, 28 Apr 2022 09:35:21 +0200 Subject: [PATCH] Artsem / Disable popovers + change color if user is barred (#5191) * disable popovers + change color if user is barred * DRY for add payment method functionality * remove redundant condition * replace condition check from component to store Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com> --- .../src/components/icon/common/ic-archive.svg | 2 +- .../components/icon/common/ic-unarchive.svg | 2 +- .../components/my-ads/my-ads-row-renderer.jsx | 47 ++++++++++--------- packages/p2p/src/stores/my-ads-store.js | 32 ++++++++----- 4 files changed, 45 insertions(+), 38 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..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 @@ -35,11 +35,16 @@ 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 onClickAddPaymentMethod = () => { + if (!general_store.is_barred) { + setAdvert(advert); + my_ads_store.showQuickAddModal(advert); + } }; - const onClickDelete = () => !general_store.is_barred && my_ads_store.onClickDelete(id); - const onClickEdit = () => !general_store.is_barred && my_ads_store.onClickEdit(id); + const onClickActivateDeactivate = () => + 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); @@ -159,15 +164,13 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ); }) ) : ( -
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }} - > - - +
+ +
@@ -224,15 +227,13 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { ); }) ) : ( -
{ - setAdvert(advert); - my_ads_store.showQuickAddModal(advert); - }} - > - - +
+ +
@@ -281,7 +282,7 @@ const MyAdsRowRenderer = observer(({ row: advert, setAdvert }) => { className='p2p-my-ads__table-popovers__edit' message={localize('Edit')} > - +
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