diff --git a/packages/p2p/src/components/advertiser-page/advertiser-page.jsx b/packages/p2p/src/components/advertiser-page/advertiser-page.jsx index aed006b4cfcb..58db3402033d 100644 --- a/packages/p2p/src/components/advertiser-page/advertiser-page.jsx +++ b/packages/p2p/src/components/advertiser-page/advertiser-page.jsx @@ -5,6 +5,7 @@ import { reaction } from 'mobx'; import { observer } from 'mobx-react-lite'; import { useStores } from 'Stores'; import { Localize, localize } from 'Components/i18next'; +import { api_error_codes } from 'Constants/api-error-codes'; import { buy_sell } from 'Constants/buy-sell'; import { my_profile_tabs } from 'Constants/my-profile-tabs'; import RateChangeModal from 'Components/buy-sell/rate-change-modal.jsx'; @@ -90,8 +91,20 @@ const AdvertiserPage = () => { > { diff --git a/packages/p2p/src/components/my-profile/block-user/block-user.jsx b/packages/p2p/src/components/my-profile/block-user/block-user.jsx index 62a04e6046ca..759694fd353d 100644 --- a/packages/p2p/src/components/my-profile/block-user/block-user.jsx +++ b/packages/p2p/src/components/my-profile/block-user/block-user.jsx @@ -3,6 +3,7 @@ import { observer } from 'mobx-react-lite'; import { useStores } from 'Stores'; import { DesktopWrapper, MobileFullPageModal, MobileWrapper } from '@deriv/components'; import { isMobile } from '@deriv/shared'; +import { api_error_codes } from 'Constants/api-error-codes'; import { my_profile_tabs } from 'Constants/my-profile-tabs'; import { localize } from 'Components/i18next'; import BlockUserModal from 'Components/block-user/block-user-modal'; @@ -24,8 +25,20 @@ const BlockUser = () => { onSubmit={my_profile_store.onSubmit} /> general_store.setBlockUnblockUserError('')} diff --git a/packages/p2p/src/constants/api-error-codes.js b/packages/p2p/src/constants/api-error-codes.js index 1ce48e565c79..059dcb84b654 100644 --- a/packages/p2p/src/constants/api-error-codes.js +++ b/packages/p2p/src/constants/api-error-codes.js @@ -4,6 +4,7 @@ export const api_error_codes = Object.freeze({ DUPLICATE_ADVERT: 'DuplicateAdvert', EXCESSIVE_VERIFICATION_FAILURES: 'ExcessiveVerificationFailures', EXCESSIVE_VERIFICATION_REQUESTS: 'ExcessiveVerificationRequests', + INVALID_ADVERTISER_ID: 'InvalidAdvertiserID', INVALID_VERIFICATION_TOKEN: 'InvalidVerificationToken', ORDER_EMAIL_VERIFICATION_REQUIRED: 'OrderEmailVerificationRequired', ORDER_CREATE_FAIL_CLIENT_BALANCE: 'OrderCreateFailClientBalance', diff --git a/packages/p2p/src/stores/advertiser-page-store.js b/packages/p2p/src/stores/advertiser-page-store.js index d0494e15b80b..38f7a307356d 100644 --- a/packages/p2p/src/stores/advertiser-page-store.js +++ b/packages/p2p/src/stores/advertiser-page-store.js @@ -7,9 +7,9 @@ export default class AdvertiserPageStore extends BaseStore { active_index = 0; ad = null; adverts = []; + api_error_message = ''; counterparty_advertiser_info = {}; counterparty_type = buy_sell.BUY; - api_error_message = ''; form_error_message = ''; has_more_adverts_to_load = false; is_counterparty_advertiser_blocked = false; @@ -27,14 +27,14 @@ export default class AdvertiserPageStore extends BaseStore { active_index: observable, ad: observable, adverts: observable, - counterparty_type: observable, api_error_message: observable, + counterparty_type: observable, form_error_message: observable, has_more_adverts_to_load: observable, is_counterparty_advertiser_blocked: observable, is_dropdown_menu_visible: observable, - is_loading: observable, is_loading_adverts: observable, + is_loading: observable, is_submit_disabled: observable, show_ad_popup: observable, submitForm: observable, diff --git a/packages/p2p/src/stores/general-store.js b/packages/p2p/src/stores/general-store.js index 2794fb8e7c6c..59a6d46cc39f 100644 --- a/packages/p2p/src/stores/general-store.js +++ b/packages/p2p/src/stores/general-store.js @@ -22,6 +22,7 @@ export default class GeneralStore extends BaseStore { balance; cancels_remaining = null; contact_info = ''; + error_code = ''; feature_level = null; inactive_notification_count = 0; is_advertiser = false; @@ -73,6 +74,7 @@ export default class GeneralStore extends BaseStore { advertiser_relations_response: observable, //TODO: Remove this when backend has fixed is_blocked flag issue block_unblock_user_error: observable, balance: observable, + error_code: observable, feature_level: observable, inactive_notification_count: observable, is_advertiser: observable, @@ -127,6 +129,7 @@ export default class GeneralStore extends BaseStore { setAdvertiserSellLimit: action.bound, setAppProps: action.bound, setAdvertiserRelationsResponse: action.bound, //TODO: Remove this when backend has fixed is_blocked flag issue + setErrorCode: action.bound, setFeatureLevel: action.bound, setInactiveNotificationCount: action.bound, setIsAdvertiser: action.bound, @@ -214,6 +217,7 @@ export default class GeneralStore extends BaseStore { ); } } else { + this.setErrorCode(response.error.code); this.setBlockUnblockUserError(response.error.message); } } @@ -609,6 +613,10 @@ export default class GeneralStore extends BaseStore { this.default_advert_description = default_advert_description; } + setErrorCode(error_code) { + this.error_code = error_code; + } + setFeatureLevel(feature_level) { this.feature_level = feature_level; }