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;
}