From 451abb449b98bc6af7da2200bafa14cf0dcc4c81 Mon Sep 17 00:00:00 2001 From: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com> Date: Thu, 8 Sep 2022 18:04:22 +0800 Subject: [PATCH 01/27] Revert "george / rm65041 / migrate p2p-cashier component to TS (#6177)" (#6424) This reverts commit 503e77ecc4cfc7097bbef7396d2dc08a72fdcc65. --- .../cashier-container/virtual/virtual.tsx | 4 +- .../cashier-locked/cashier-locked.tsx | 4 +- .../crypto-fiat-converter.tsx | 4 +- .../crypto-transactions-cancel-modal.tsx | 4 +- .../crypto-transactions-history.tsx | 4 +- .../crypto-transactions-renderer.tsx | 4 +- .../crypto-transactions-status-modal.tsx | 4 +- .../components/error-dialog/error-dialog.tsx | 4 +- .../funds-protection/funds-protection.tsx | 4 +- .../src/components/no-balance/no-balance.tsx | 4 +- .../recent-transaction/recent-transaction.tsx | 4 +- ...p-cashier.spec.tsx => p2p-cashier.spec.js} | 2 +- .../cashier/src/pages/p2p-cashier/index.js | 3 + .../cashier/src/pages/p2p-cashier/index.ts | 3 - .../{p2p-cashier.tsx => p2p-cashier.jsx} | 97 +++++++++---------- packages/cashier/src/types/stores/index.ts | 1 - .../types/stores/notification-store.types.ts | 52 ---------- .../src/types/stores/root-store.types.ts | 6 +- .../src/types/stores/ui-store.types.ts | 1 - 19 files changed, 74 insertions(+), 135 deletions(-) rename packages/cashier/src/pages/p2p-cashier/__tests__/{p2p-cashier.spec.tsx => p2p-cashier.spec.js} (96%) create mode 100644 packages/cashier/src/pages/p2p-cashier/index.js delete mode 100644 packages/cashier/src/pages/p2p-cashier/index.ts rename packages/cashier/src/pages/p2p-cashier/{p2p-cashier.tsx => p2p-cashier.jsx} (74%) delete mode 100644 packages/cashier/src/types/stores/notification-store.types.ts diff --git a/packages/cashier/src/components/cashier-container/virtual/virtual.tsx b/packages/cashier/src/components/cashier-container/virtual/virtual.tsx index ac903c10066c..1ec15974fac2 100644 --- a/packages/cashier/src/components/cashier-container/virtual/virtual.tsx +++ b/packages/cashier/src/components/cashier-container/virtual/virtual.tsx @@ -6,7 +6,7 @@ import { Text } from '@deriv/components'; import { isMobile } from '@deriv/shared'; import { Localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; import './virtual.scss'; type TVirtualProps = RouteComponentProps & { @@ -51,7 +51,7 @@ const Virtual = ({ is_dark_mode_on, toggleAccountsDialog }: TVirtualProps) => { ); }; -export default connect(({ ui }: TRootStore) => ({ +export default connect(({ ui }: RootStore) => ({ is_dark_mode_on: ui.is_dark_mode_on, toggleAccountsDialog: ui.toggleAccountsDialog, }))(withRouter(Virtual)); diff --git a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx index 7555ff55071a..b0470a0b650f 100644 --- a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx +++ b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx @@ -4,7 +4,7 @@ import { Icon, Text } from '@deriv/components'; import { localize, Localize } from '@deriv/translations'; import { formatDate } from '@deriv/shared'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; type TAccount = NonNullable[0]; @@ -292,7 +292,7 @@ const CashierLocked = ({ ); }; -export default connect(({ client, modules }: TRootStore) => ({ +export default connect(({ client, modules }: RootStore) => ({ account_status: client.account_status, accounts: client.accounts, current_currency_type: client.current_currency_type, diff --git a/packages/cashier/src/components/crypto-fiat-converter/crypto-fiat-converter.tsx b/packages/cashier/src/components/crypto-fiat-converter/crypto-fiat-converter.tsx index 017d06270a8d..fe2c7394af87 100644 --- a/packages/cashier/src/components/crypto-fiat-converter/crypto-fiat-converter.tsx +++ b/packages/cashier/src/components/crypto-fiat-converter/crypto-fiat-converter.tsx @@ -4,7 +4,7 @@ import { DesktopWrapper, Input, Icon, MobileWrapper, Text, useInterval } from '@ import { getCurrencyDisplayCode } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore, TReactChangeEvent, TReactChildren } from 'Types'; +import { RootStore, TReactChangeEvent, TReactChildren } from 'Types'; import './crypto-fiat-converter.scss'; type TTimerProps = { @@ -170,7 +170,7 @@ const CryptoFiatConverter = ({ ); }; -export default connect(({ modules }: TRootStore) => ({ +export default connect(({ modules }: RootStore) => ({ converter_from_amount: modules.cashier.crypto_fiat_converter.converter_from_amount, converter_from_error: modules.cashier.crypto_fiat_converter.converter_from_error, converter_to_error: modules.cashier.crypto_fiat_converter.converter_to_error, diff --git a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-cancel-modal.tsx b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-cancel-modal.tsx index bd76cfa576f5..773badbbd6e7 100644 --- a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-cancel-modal.tsx +++ b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-cancel-modal.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { Button, Modal } from '@deriv/components'; import { localize, Localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; type TCryptoTransactionsCancelModalProps = { cancelCryptoTransaction: (selected_crypto_transaction_id: string) => void; @@ -45,7 +45,7 @@ const CryptoTransactionsCancelModal = ({ ); }; -export default connect(({ modules }: TRootStore) => ({ +export default connect(({ modules }: RootStore) => ({ cancelCryptoTransaction: modules.cashier.transaction_history.cancelCryptoTransaction, hideCryptoTransactionsCancelModal: modules.cashier.transaction_history.hideCryptoTransactionsCancelModal, is_cancel_modal_visible: modules.cashier.transaction_history.is_crypto_transactions_cancel_modal_visible, diff --git a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-history.tsx b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-history.tsx index 66b312dbd8d1..47c5a24fd6c4 100644 --- a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-history.tsx +++ b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-history.tsx @@ -3,7 +3,7 @@ import { DataList, Icon, Loading, MobileWrapper, Table, Text } from '@deriv/comp import { isDesktop, isMobile, routes } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore, TCryptoTransactionDetails } from 'Types'; +import { RootStore, TCryptoTransactionDetails } from 'Types'; import CryptoTransactionsCancelModal from './crypto-transactions-cancel-modal'; import CryptoTransactionsStatusModal from './crypto-transactions-status-modal'; import CryptoTransactionsRenderer from './crypto-transactions-renderer'; @@ -102,7 +102,7 @@ const CryptoTransactionsHistory = ({ ); }; -export default connect(({ client, modules }: TRootStore) => ({ +export default connect(({ client, modules }: RootStore) => ({ crypto_transactions: modules.cashier.transaction_history.crypto_transactions, currency: client.currency, is_loading: modules.cashier.transaction_history.is_loading, diff --git a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-renderer.tsx b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-renderer.tsx index 88af614491d5..d282b5444bbb 100644 --- a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-renderer.tsx +++ b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-renderer.tsx @@ -5,7 +5,7 @@ import { epochToMoment, formatMoney, isMobile } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; import { getStatus } from 'Constants/transaction-status'; import { connect } from 'Stores/connect'; -import { TRootStore, TCryptoTransactionDetails } from 'Types'; +import { RootStore, TCryptoTransactionDetails } from 'Types'; type TCryptoTransactionsRendererProps = { row: TCryptoTransactionDetails; @@ -304,7 +304,7 @@ const CryptoTransactionsRenderer = ({ ); }; -export default connect(({ client, modules }: TRootStore) => ({ +export default connect(({ client, modules }: RootStore) => ({ currency: client.currency, cancelCryptoTransaction: modules.cashier.transaction_history.cancelCryptoTransaction, showCryptoTransactionsCancelModal: modules.cashier.transaction_history.showCryptoTransactionsCancelModal, diff --git a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-status-modal.tsx b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-status-modal.tsx index c299ae10c408..7cb3aa5fbc0e 100644 --- a/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-status-modal.tsx +++ b/packages/cashier/src/components/crypto-transactions-history/crypto-transactions-status-modal.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { Button, Modal } from '@deriv/components'; import { localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TReactMouseEvent, TRootStore } from 'Types'; +import { TReactMouseEvent, RootStore } from 'Types'; type TCryptoTransactionsStatusModalProps = { hideCryptoTransactionsStatusModal: (e: TReactMouseEvent) => void; @@ -34,7 +34,7 @@ const CryptoTransactionsStatusModal = ({ ); }; -export default connect(({ modules }: TRootStore) => ({ +export default connect(({ modules }: RootStore) => ({ hideCryptoTransactionsStatusModal: modules.cashier.transaction_history.hideCryptoTransactionsStatusModal, is_status_modal_visible: modules.cashier.transaction_history.is_crypto_transactions_status_modal_visible, selected_crypto_status: modules.cashier.transaction_history.selected_crypto_status, diff --git a/packages/cashier/src/components/error-dialog/error-dialog.tsx b/packages/cashier/src/components/error-dialog/error-dialog.tsx index b8419cb429c7..d30581334615 100644 --- a/packages/cashier/src/components/error-dialog/error-dialog.tsx +++ b/packages/cashier/src/components/error-dialog/error-dialog.tsx @@ -4,7 +4,7 @@ import { Dialog } from '@deriv/components'; import { localize, Localize } from '@deriv/translations'; import { routes } from '@deriv/shared'; import { connect } from 'Stores/connect'; -import { TRootStore, TError, TReactElement } from 'Types'; +import { RootStore, TError, TReactElement } from 'Types'; type TErrorDialogProps = { disableApp: () => void; @@ -148,7 +148,7 @@ const ErrorDialog = ({ disableApp, enableApp, error = {} }: TErrorDialogProps) = ); }; -export default connect(({ ui }: TRootStore) => ({ +export default connect(({ ui }: RootStore) => ({ disableApp: ui.disableApp, enableApp: ui.enableApp, }))(ErrorDialog); diff --git a/packages/cashier/src/components/funds-protection/funds-protection.tsx b/packages/cashier/src/components/funds-protection/funds-protection.tsx index 7470280414e8..43c59cc12dca 100644 --- a/packages/cashier/src/components/funds-protection/funds-protection.tsx +++ b/packages/cashier/src/components/funds-protection/funds-protection.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { Icon, Button, Text } from '@deriv/components'; import { Localize, localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; import './funds-protection.scss'; type TFundsProtectionProps = { @@ -40,6 +40,6 @@ const FundsProtection = ({ submitFundsProtection }: TFundsProtectionProps) => { ); }; -export default connect(({ modules }: TRootStore) => ({ +export default connect(({ modules }: RootStore) => ({ submitFundsProtection: modules.cashier.deposit.submitFundsProtection, }))(FundsProtection); diff --git a/packages/cashier/src/components/no-balance/no-balance.tsx b/packages/cashier/src/components/no-balance/no-balance.tsx index b9be2e56d45d..cc14972dad4f 100644 --- a/packages/cashier/src/components/no-balance/no-balance.tsx +++ b/packages/cashier/src/components/no-balance/no-balance.tsx @@ -4,7 +4,7 @@ import { Button, Icon, Text } from '@deriv/components'; import { routes, getCurrencyDisplayCode } from '@deriv/shared'; import { localize, Localize } from '@deriv/translations'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; type TNoBalanceProps = RouteComponentProps & { currency: string; @@ -48,7 +48,7 @@ const NoBalance = ({ currency, history, is_deposit_locked, setTabIndex }: TNoBal }; export default withRouter( - connect(({ client, modules }: TRootStore) => ({ + connect(({ client, modules }: RootStore) => ({ currency: client.currency, is_deposit_locked: modules.cashier.deposit.is_deposit_locked, setTabIndex: modules.cashier.general_store.setCashierTabIndex, diff --git a/packages/cashier/src/components/recent-transaction/recent-transaction.tsx b/packages/cashier/src/components/recent-transaction/recent-transaction.tsx index 909b937e4914..6fedbccfed3e 100644 --- a/packages/cashier/src/components/recent-transaction/recent-transaction.tsx +++ b/packages/cashier/src/components/recent-transaction/recent-transaction.tsx @@ -4,7 +4,7 @@ import { ButtonLink, Text, Icon } from '@deriv/components'; import { Localize } from '@deriv/translations'; import { epochToMoment } from '@deriv/shared'; import { connect } from 'Stores/connect'; -import { TRootStore } from 'Types'; +import { RootStore } from 'Types'; import { getStatus } from 'Constants/transaction-status'; import './recent-transaction.scss'; @@ -132,7 +132,7 @@ const RecentTransaction = ({ ); }; -export default connect(({ modules, client }: TRootStore) => ({ +export default connect(({ modules, client }: RootStore) => ({ crypto_transactions: modules.cashier.transaction_history.crypto_transactions, currency: client.currency, onMount: modules.cashier.transaction_history.onMount, diff --git a/packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.tsx b/packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.js similarity index 96% rename from packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.tsx rename to packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.js index 0bc7b1a2f968..e8460701be42 100644 --- a/packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.tsx +++ b/packages/cashier/src/pages/p2p-cashier/__tests__/p2p-cashier.spec.js @@ -16,7 +16,7 @@ jest.mock('@deriv/components', () => ({ Loading: () =>
Loading
, })); -jest.mock('@deriv/p2p', () => jest.fn(() => 'P2P')); +jest.mock('@deriv/p2p', () => () =>
P2P
); describe('', () => { const history = createBrowserHistory(); diff --git a/packages/cashier/src/pages/p2p-cashier/index.js b/packages/cashier/src/pages/p2p-cashier/index.js new file mode 100644 index 000000000000..ada6d8959122 --- /dev/null +++ b/packages/cashier/src/pages/p2p-cashier/index.js @@ -0,0 +1,3 @@ +import P2PCashier from './p2p-cashier.jsx'; + +export default P2PCashier; diff --git a/packages/cashier/src/pages/p2p-cashier/index.ts b/packages/cashier/src/pages/p2p-cashier/index.ts deleted file mode 100644 index 4682987fd223..000000000000 --- a/packages/cashier/src/pages/p2p-cashier/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import P2PCashier from './p2p-cashier'; - -export default P2PCashier; diff --git a/packages/cashier/src/pages/p2p-cashier/p2p-cashier.tsx b/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx similarity index 74% rename from packages/cashier/src/pages/p2p-cashier/p2p-cashier.tsx rename to packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx index d83f4b8f127c..0bb43fdd7bfe 100644 --- a/packages/cashier/src/pages/p2p-cashier/p2p-cashier.tsx +++ b/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx @@ -1,47 +1,16 @@ import React from 'react'; -import { RouteComponentProps } from 'react-router'; +import PropTypes from 'prop-types'; import { withRouter } from 'react-router-dom'; -import P2P from '@deriv/p2p'; -import { Loading } from '@deriv/components'; -import { routes, WS } from '@deriv/shared'; import { getLanguage } from '@deriv/translations'; -import { get, init, timePromise } from 'Utils/server_time'; +import { routes, WS } from '@deriv/shared'; +import { Loading } from '@deriv/components'; +import P2P from '@deriv/p2p'; import { connect } from 'Stores/connect'; -import { TClientStore, TCommonStore, TNotificationStore, TRootStore, TUiStore } from 'Types'; - -type TLocalCurrencyConfig = { - currency: string; - decimal_places: number; -}; - -type TP2PCashierProps = RouteComponentProps & { - addNotificationMessage: TNotificationStore['addNotificationMessage']; - balance: TClientStore['balance']; - currency: TClientStore['currency']; - current_focus: TUiStore['current_focus']; - filterNotificationMessages: TNotificationStore['filterNotificationMessages']; - is_dark_mode_on: TUiStore['is_dark_mode_on']; - is_logging_in: TClientStore['is_logging_in']; - is_mobile: TUiStore['is_mobile']; - is_virtual: TClientStore['is_virtual']; - local_currency_config: TLocalCurrencyConfig; - loginid: TClientStore['loginid']; - Notifications: TUiStore['notification_messages_ui']; - platform: TCommonStore['platform']; - refreshNotifications: TNotificationStore['refreshNotifications']; - removeNotificationByKey: TNotificationStore['removeNotificationByKey']; - removeNotificationMessage: TNotificationStore['removeNotificationMessage']; - residence: TClientStore['residence']; - setCurrentFocus: TUiStore['setCurrentFocus']; - // TODO: replace setNotificationCount and setOnRemount types when cashier.general_store will be typed - setNotificationCount: (value: number) => void; - setOnRemount: (func: () => void) => void; -}; +import { get, init, timePromise } from 'Utils/server_time'; /* P2P will use the same websocket connection as Deriv/Binary, we need to pass it as a prop */ const P2PCashier = ({ addNotificationMessage, - balance, currency, current_focus, filterNotificationMessages, @@ -59,19 +28,31 @@ const P2PCashier = ({ removeNotificationByKey, removeNotificationMessage, residence, - setCurrentFocus, setNotificationCount, + setCurrentFocus, + balance, setOnRemount, -}: TP2PCashierProps) => { - const [order_id, setOrderId] = React.useState(null); +}) => { + const [order_id, setOrderId] = React.useState(null); const server_time = { get, init, timePromise, }; + React.useEffect(() => { + const url_params = new URLSearchParams(location.search); + const passed_order_id = url_params.get('order'); + + if (passed_order_id) { + setQueryOrder(passed_order_id); + } + + return () => setQueryOrder(null); + }, [location.search, setQueryOrder]); + const setQueryOrder = React.useCallback( - (input_order_id: string | null) => { + input_order_id => { const current_query_params = new URLSearchParams(location.search); if (current_query_params.has('order')) { @@ -103,17 +84,6 @@ const P2PCashier = ({ [history, location.hash, location.search, order_id] ); - React.useEffect(() => { - const url_params = new URLSearchParams(location.search); - const passed_order_id = url_params.get('order'); - - if (passed_order_id) { - setQueryOrder(passed_order_id); - } - - return () => setQueryOrder(null); - }, [location.search, setQueryOrder]); - if (is_logging_in) { return ; } @@ -148,7 +118,30 @@ const P2PCashier = ({ ); }; -export default connect(({ client, common, modules, notifications, ui }: TRootStore) => ({ +P2PCashier.propTypes = { + addNotificationMessage: PropTypes.func, + balance: PropTypes.string, + currency: PropTypes.string, + current_focus: PropTypes.string, + filterNotificationMessages: PropTypes.func, + history: PropTypes.object, + is_dark_mode_on: PropTypes.bool, + is_logging_in: PropTypes.bool, + is_mobile: PropTypes.bool, + is_virtual: PropTypes.bool, + local_currency_config: PropTypes.object, + location: PropTypes.object, + loginid: PropTypes.string, + platform: PropTypes.any, + refreshNotifications: PropTypes.func, + removeNotificationByKey: PropTypes.func, + removeNotificationMessage: PropTypes.func, + residence: PropTypes.string, + setNotificationCount: PropTypes.func, + setCurrentFocus: PropTypes.func, +}; + +export default connect(({ client, common, modules, notifications, ui }) => ({ addNotificationMessage: notifications.addNotificationMessage, balance: client.balance, currency: client.currency, diff --git a/packages/cashier/src/types/stores/index.ts b/packages/cashier/src/types/stores/index.ts index f2f2dba7d229..6acec19f6868 100644 --- a/packages/cashier/src/types/stores/index.ts +++ b/packages/cashier/src/types/stores/index.ts @@ -1,5 +1,4 @@ export * from './client-store.types'; export * from './common-store.types'; -export * from './notification-store.types'; export * from './root-store.types'; export * from './ui-store.types'; diff --git a/packages/cashier/src/types/stores/notification-store.types.ts b/packages/cashier/src/types/stores/notification-store.types.ts deleted file mode 100644 index f5759f5d991b..000000000000 --- a/packages/cashier/src/types/stores/notification-store.types.ts +++ /dev/null @@ -1,52 +0,0 @@ -type TArgsRemoveNotificationByKey = { - key: string; -}; - -type TArgsRemoveNotificationMessage = { - key: string; - should_show_again?: boolean; -}; - -type TButtonProps = { - onClick: () => void; - text: string; -}; - -type TNotificationMessage = { - action?: { - onClick: () => void; - route?: string; - text: string; - }; - className?: string; - cta_btn?: TButtonProps; - is_disposable?: boolean; - is_persistent?: boolean; - header: string; - header_popup?: string; - img_alt?: string; - img_src?: string; - key: string; - message: string | JSX.Element; - message_popup?: string; - platform?: string; - primary_btn?: TButtonProps; - secondary_btn?: TButtonProps; - should_hide_close_btn?: boolean; - timeout?: number; - timeoutMessage?: (remaining: number | string) => string; - type: string; -}; - -type TNotification = - | TNotificationMessage - | ((withdrawal_locked: boolean, deposit_locked: boolean) => TNotificationMessage) - | ((excluded_until: number) => TNotificationMessage); - -export type TNotificationStore = { - addNotificationMessage: (message: TNotification) => void; - filterNotificationMessages: () => void; - refreshNotifications: () => void; - removeNotificationByKey: (obj: TArgsRemoveNotificationByKey) => void; - removeNotificationMessage: (obj: TArgsRemoveNotificationMessage) => void; -}; diff --git a/packages/cashier/src/types/stores/root-store.types.ts b/packages/cashier/src/types/stores/root-store.types.ts index b11f189120db..323579fd932f 100644 --- a/packages/cashier/src/types/stores/root-store.types.ts +++ b/packages/cashier/src/types/stores/root-store.types.ts @@ -1,12 +1,12 @@ import { TClientStore } from './client-store.types'; import { TCommonStore } from './common-store.types'; import { TUiStore } from './ui-store.types'; -import { TNotificationStore } from './notification-store.types'; -export type TRootStore = { +export type RootStore = { client: TClientStore; common: TCommonStore; modules: any; - notifications: TNotificationStore; ui: TUiStore; }; + +export type TRootStore = RootStore; diff --git a/packages/cashier/src/types/stores/ui-store.types.ts b/packages/cashier/src/types/stores/ui-store.types.ts index 524596e9f42d..078110fee212 100644 --- a/packages/cashier/src/types/stores/ui-store.types.ts +++ b/packages/cashier/src/types/stores/ui-store.types.ts @@ -3,7 +3,6 @@ export type TUiStore = { is_cashier_visible: boolean; is_dark_mode_on: boolean; is_mobile: boolean; - notification_messages_ui: JSX.Element; disableApp: () => void; enableApp: () => void; setCurrentFocus: (value: string) => void; From b142e79b0afc9bf18fe89804ed5b22e90a295a1d Mon Sep 17 00:00:00 2001 From: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com> Date: Thu, 8 Sep 2022 18:11:13 +0800 Subject: [PATCH 02/27] P2p 2fa feature (#6422) * carol/ P2P: 2FA (#6009) * add: icons * add: one more icon * add email verification modal * add invalid verification link modal * add email verified * add email blocked modal * add email blocked modal * use align prop instead * carol/ P2P: Email verification for orders (#6299) * fix: quotes * add: email verification * cleanup * don't kill me * add response checks * add comment * add: amount + currency * fixed loading of order details and chat * fixed design on responsive * fixed verification modal in responsive * show modal if error * fix * fixed truncated modal in ios * fix time * fix invalid verification modal * fix * fix * fixed verification modal in desktop * fix responsive +logged out user * fix: design for seller * the solution to all my problems * fix: modal * fix logout + modal * hide extra modal * i got 99 problems and 2fa is all of em * fix * fix * fix: amount * fix: amount * fix: add modal * fix: rating modal Co-authored-by: Farrah Mae Ochoa Co-authored-by: Nijil Nirmal Co-authored-by: Farrah Mae Ochoa --- .../src/pages/p2p-cashier/p2p-cashier.jsx | 44 ++- .../icon/common/ic-email-sent-p2p.svg | 1 + .../ic-email-verification-link-blocked.svg | 1 + .../ic-email-verification-link-invalid.svg | 1 + .../ic-email-verification-link-valid.svg | 1 + .../components/src/components/icon/icons.js | 4 + packages/components/stories/icon/icons.js | 4 + .../src/App/Containers/Redirect/redirect.jsx | 8 + packages/p2p/jest.config.js | 2 +- packages/p2p/src/components/app.jsx | 43 ++- .../components/buy-sell/buy-sell-modal.jsx | 2 +- .../email-link-blocked-modal.jsx | 42 +++ .../email-link-blocked-modal.scss | 9 + .../email-link-blocked-modal/index.js | 4 + .../email-link-verified-modal.jsx | 57 ++++ .../email-link-verified-modal.scss | 13 + .../email-link-verified-modal/index.js | 4 + .../email-verification-modal.jsx | 109 +++++++ .../email-verification-modal.scss | 42 +++ .../email-verification-modal/index.js | 4 + .../components/error-modal/error-modal.jsx | 24 ++ .../p2p/src/components/error-modal/index.js | 3 + .../invalid-verification-link-modal/index.js | 4 + .../invalid-verification-link-modal.jsx | 56 ++++ .../invalid-verification-link-modal.scss | 13 + .../p2p/src/components/loading-modal/index.js | 3 + .../loading-modal/loading-modal.jsx | 17 ++ .../order-details-cancel-modal.jsx | 2 +- .../order-details-confirm-modal.jsx | 10 +- .../order-details/order-details-footer.jsx | 9 + .../order-details/order-details-wrapper.jsx | 7 +- .../order-details/order-details.jsx | 46 ++- packages/p2p/src/components/orders/orders.jsx | 7 +- .../components/rating-modal/rating-modal.jsx | 3 +- packages/p2p/src/stores/order-store.js | 287 +++++++++++++----- 35 files changed, 769 insertions(+), 117 deletions(-) create mode 100644 packages/components/src/components/icon/common/ic-email-sent-p2p.svg create mode 100644 packages/components/src/components/icon/common/ic-email-verification-link-blocked.svg create mode 100644 packages/components/src/components/icon/common/ic-email-verification-link-invalid.svg create mode 100644 packages/components/src/components/icon/common/ic-email-verification-link-valid.svg create mode 100644 packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.jsx create mode 100644 packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.scss create mode 100644 packages/p2p/src/components/email-link-blocked-modal/index.js create mode 100644 packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.jsx create mode 100644 packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.scss create mode 100644 packages/p2p/src/components/email-link-verified-modal/index.js create mode 100644 packages/p2p/src/components/email-verification-modal/email-verification-modal.jsx create mode 100644 packages/p2p/src/components/email-verification-modal/email-verification-modal.scss create mode 100644 packages/p2p/src/components/email-verification-modal/index.js create mode 100644 packages/p2p/src/components/error-modal/error-modal.jsx create mode 100644 packages/p2p/src/components/error-modal/index.js create mode 100644 packages/p2p/src/components/invalid-verification-link-modal/index.js create mode 100644 packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.jsx create mode 100644 packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.scss create mode 100644 packages/p2p/src/components/loading-modal/index.js create mode 100644 packages/p2p/src/components/loading-modal/loading-modal.jsx diff --git a/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx b/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx index 0bb43fdd7bfe..dc584d670e05 100644 --- a/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx +++ b/packages/cashier/src/pages/p2p-cashier/p2p-cashier.jsx @@ -34,6 +34,9 @@ const P2PCashier = ({ setOnRemount, }) => { const [order_id, setOrderId] = React.useState(null); + const [action_param, setActionParam] = React.useState(); + const [code_param, setCodeParam] = React.useState(); + const server_time = { get, init, @@ -42,21 +45,46 @@ const P2PCashier = ({ React.useEffect(() => { const url_params = new URLSearchParams(location.search); - const passed_order_id = url_params.get('order'); + let passed_order_id; + + setActionParam(url_params.get('action')); + if (is_mobile) { + setCodeParam(localStorage.getItem('verification_code.p2p_order_confirm')); + } else if (!code_param) { + if (url_params.has('code')) { + setCodeParam(url_params.get('code')); + } else if (localStorage.getItem('verification_code.p2p_order_confirm')) { + setCodeParam(localStorage.getItem('verification_code.p2p_order_confirm')); + } + } + + // Different emails give us different params (order / order_id), + // don't remove order_id since it's consistent for mobile and web for 2FA + if (url_params.has('order_id')) { + passed_order_id = url_params.get('order_id'); + } else if (url_params.has('order')) { + passed_order_id = url_params.get('order'); + } if (passed_order_id) { setQueryOrder(passed_order_id); } return () => setQueryOrder(null); - }, [location.search, setQueryOrder]); + }, [setQueryOrder]); const setQueryOrder = React.useCallback( input_order_id => { const current_query_params = new URLSearchParams(location.search); - if (current_query_params.has('order')) { + if (is_mobile) { + current_query_params.delete('action'); + current_query_params.delete('code'); + } + + if (current_query_params.has('order_id') || current_query_params.has('order')) { current_query_params.delete('order'); + current_query_params.delete('order_id'); } if (input_order_id) { @@ -91,8 +119,9 @@ const P2PCashier = ({ return ( ); }; diff --git a/packages/components/src/components/icon/common/ic-email-sent-p2p.svg b/packages/components/src/components/icon/common/ic-email-sent-p2p.svg new file mode 100644 index 000000000000..ac6603322838 --- /dev/null +++ b/packages/components/src/components/icon/common/ic-email-sent-p2p.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/common/ic-email-verification-link-blocked.svg b/packages/components/src/components/icon/common/ic-email-verification-link-blocked.svg new file mode 100644 index 000000000000..6da1da0ce86a --- /dev/null +++ b/packages/components/src/components/icon/common/ic-email-verification-link-blocked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/common/ic-email-verification-link-invalid.svg b/packages/components/src/components/icon/common/ic-email-verification-link-invalid.svg new file mode 100644 index 000000000000..6edf85f052d5 --- /dev/null +++ b/packages/components/src/components/icon/common/ic-email-verification-link-invalid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/common/ic-email-verification-link-valid.svg b/packages/components/src/components/icon/common/ic-email-verification-link-valid.svg new file mode 100644 index 000000000000..c7f5bcb37d46 --- /dev/null +++ b/packages/components/src/components/icon/common/ic-email-verification-link-valid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/components/src/components/icon/icons.js b/packages/components/src/components/icon/icons.js index efecd9081e74..14eb0e3b79ac 100644 --- a/packages/components/src/components/icon/icons.js +++ b/packages/components/src/components/icon/icons.js @@ -238,9 +238,13 @@ import './common/ic-edit.svg'; import './common/ic-email-firewall.svg'; import './common/ic-email-outline.svg'; import './common/ic-email-sent-dashboard.svg'; +import './common/ic-email-sent-p2p.svg'; import './common/ic-email-sent.svg'; import './common/ic-email-spam.svg'; import './common/ic-email-typo.svg'; +import './common/ic-email-verification-link-blocked.svg'; +import './common/ic-email-verification-link-invalid.svg'; +import './common/ic-email-verification-link-valid.svg'; import './common/ic-email-verified.svg'; import './common/ic-email.svg'; import './common/ic-empty-folder.svg'; diff --git a/packages/components/stories/icon/icons.js b/packages/components/stories/icon/icons.js index d6a707475f3f..20071acf72d1 100644 --- a/packages/components/stories/icon/icons.js +++ b/packages/components/stories/icon/icons.js @@ -245,9 +245,13 @@ export const icons = 'IcEmailFirewall', 'IcEmailOutline', 'IcEmailSentDashboard', + 'IcEmailSentP2p', 'IcEmailSent', 'IcEmailSpam', 'IcEmailTypo', + 'IcEmailVerificationLinkBlocked', + 'IcEmailVerificationLinkInvalid', + 'IcEmailVerificationLinkValid', 'IcEmailVerified', 'IcEmail', 'IcEmptyFolder', diff --git a/packages/core/src/App/Containers/Redirect/redirect.jsx b/packages/core/src/App/Containers/Redirect/redirect.jsx index e390229392d1..39e693242409 100644 --- a/packages/core/src/App/Containers/Redirect/redirect.jsx +++ b/packages/core/src/App/Containers/Redirect/redirect.jsx @@ -145,6 +145,14 @@ const Redirect = ({ redirected_to_route = true; break; } + case 'p2p_order_confirm': { + history.push({ + pathname: routes.cashier_p2p, + search: url_query_string, + }); + redirected_to_route = true; + break; + } default: break; diff --git a/packages/p2p/jest.config.js b/packages/p2p/jest.config.js index 4d9bcdb4075f..6d193b80edd3 100644 --- a/packages/p2p/jest.config.js +++ b/packages/p2p/jest.config.js @@ -20,7 +20,7 @@ module.exports = { '/crowdin/', // TODO: Update the test files once the major features are done // This is a temporary change, I hope - '/src/components/order-details/', + '/src/components/order*', ], coveragePathIgnorePatterns: [ '/.eslintrc.js', diff --git a/packages/p2p/src/components/app.jsx b/packages/p2p/src/components/app.jsx index acbf5ca0eee0..c484bd41e3cc 100644 --- a/packages/p2p/src/components/app.jsx +++ b/packages/p2p/src/components/app.jsx @@ -12,8 +12,19 @@ import './app.scss'; const App = props => { const { general_store, order_store } = useStores(); - const { balance, className, history, lang, Notifications, order_id, server_time, websocket_api, setOnRemount } = - props; + const { + balance, + className, + history, + lang, + Notifications, + order_id, + server_time, + verification_action, + verification_code, + websocket_api, + setOnRemount, + } = props; React.useEffect(() => { general_store.setAppProps(props); @@ -68,6 +79,20 @@ const App = props => { setLanguage(lang); }, [lang]); + React.useEffect(() => { + if (verification_code) { + // We need an extra state since we delete the code from the query params. + // Do not remove. + order_store.setVerificationCode(verification_code); + } + if (verification_action && verification_code) { + order_store.setIsLoadingModalOpen(true); + order_store.verifyEmailVerificationCode(verification_action, verification_code); + } + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [verification_action, verification_code]); + return (
@@ -77,25 +102,17 @@ const App = props => { }; App.propTypes = { + balance: PropTypes.string, className: PropTypes.string, - client: PropTypes.shape({ - currency: PropTypes.string.isRequired, - is_virtual: PropTypes.bool.isRequired, - local_currency_config: PropTypes.shape({ - currency: PropTypes.string.isRequired, - decimal_places: PropTypes.number, - }).isRequired, - loginid: PropTypes.string.isRequired, - residence: PropTypes.string.isRequired, - }), history: PropTypes.object, - balance: PropTypes.string, lang: PropTypes.string, modal_root_id: PropTypes.string.isRequired, order_id: PropTypes.string, server_time: PropTypes.object, setNotificationCount: PropTypes.func, setOnRemount: PropTypes.func, + verification_action: PropTypes.string, + verification_code: PropTypes.string, websocket_api: PropTypes.object.isRequired, }; diff --git a/packages/p2p/src/components/buy-sell/buy-sell-modal.jsx b/packages/p2p/src/components/buy-sell/buy-sell-modal.jsx index d45ebcc90fde..e27d8f0f7e68 100644 --- a/packages/p2p/src/components/buy-sell/buy-sell-modal.jsx +++ b/packages/p2p/src/components/buy-sell/buy-sell-modal.jsx @@ -135,8 +135,8 @@ const BuySellModal = ({ table_type, selected_ad, should_show_popup, setShouldSho }; const onConfirmClick = order_info => { - order_store.setOrderId(order_info.id); general_store.redirectTo('orders', { nav: { location: 'buy_sell' } }); + order_store.setOrderId(order_info.id); setShouldShowPopup(false); buy_sell_store.setShowAdvertiserPage(false); }; diff --git a/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.jsx b/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.jsx new file mode 100644 index 000000000000..249b4887c8a9 --- /dev/null +++ b/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.jsx @@ -0,0 +1,42 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Icon, Modal, Text } from '@deriv/components'; +import { Localize } from 'Components/i18next'; + +const EmailLinkBlockedModal = ({ + // TODO: Uncomment when time is available in BE response + // blocked_for_minutes, + email_link_blocked_modal_error_message, + is_email_link_blocked_modal_open, + setIsEmailLinkBlockedModalOpen, +}) => { + return ( + <>} + toggleModal={() => setIsEmailLinkBlockedModalOpen(false)} + width='440px' + > + + + + + + + {email_link_blocked_modal_error_message} + + + + ); +}; + +EmailLinkBlockedModal.propTypes = { + // TODO: Uncomment when time is available in BE response + // blocked_for_minutes: PropTypes.number, + email_link_blocked_modal_error_message: PropTypes.string, + is_email_link_blocked_modal_open: PropTypes.bool, + setIsEmailLinkBlockedModalOpen: PropTypes.func, +}; + +export default EmailLinkBlockedModal; diff --git a/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.scss b/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.scss new file mode 100644 index 000000000000..975c829f0532 --- /dev/null +++ b/packages/p2p/src/components/email-link-blocked-modal/email-link-blocked-modal.scss @@ -0,0 +1,9 @@ +.email-link-blocked-modal { + align-items: center; + display: flex; + flex-direction: column; + + &--text { + margin: 2.4rem 0; + } +} diff --git a/packages/p2p/src/components/email-link-blocked-modal/index.js b/packages/p2p/src/components/email-link-blocked-modal/index.js new file mode 100644 index 000000000000..356741ec4cc6 --- /dev/null +++ b/packages/p2p/src/components/email-link-blocked-modal/index.js @@ -0,0 +1,4 @@ +import EmailLinkBlockedModal from './email-link-blocked-modal.jsx'; +import './email-link-blocked-modal.scss'; + +export default EmailLinkBlockedModal; diff --git a/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.jsx b/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.jsx new file mode 100644 index 000000000000..cd4cdb8d9656 --- /dev/null +++ b/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.jsx @@ -0,0 +1,57 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button, Icon, Modal, Text } from '@deriv/components'; +import { Localize } from 'Components/i18next'; + +const EmailLinkVerifiedModal = ({ + amount, + currency, + is_email_link_verified_modal_open, + onClickConfirm, + setIsEmailLinkVerifiedModalOpen, +}) => { + return ( + <>} + toggleModal={() => setIsEmailLinkVerifiedModalOpen(false)} + width='440px' + > + + + + + + + + + + + + + + ); +}; + +EmailLinkVerifiedModal.propTypes = { + amount: PropTypes.string, + currency: PropTypes.string, + is_email_link_verified_modal_open: PropTypes.bool, + onClickConfirm: PropTypes.func, + setIsEmailLinkVerifiedModalOpen: PropTypes.func, +}; + +export default EmailLinkVerifiedModal; diff --git a/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.scss b/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.scss new file mode 100644 index 000000000000..e5b0c2fbb694 --- /dev/null +++ b/packages/p2p/src/components/email-link-verified-modal/email-link-verified-modal.scss @@ -0,0 +1,13 @@ +.email-verified-modal { + align-items: center; + display: flex; + flex-direction: column; + + &--footer { + align-self: center; + } + + &--text { + margin: 2.4rem 0; + } +} diff --git a/packages/p2p/src/components/email-link-verified-modal/index.js b/packages/p2p/src/components/email-link-verified-modal/index.js new file mode 100644 index 000000000000..35446e1c3a44 --- /dev/null +++ b/packages/p2p/src/components/email-link-verified-modal/index.js @@ -0,0 +1,4 @@ +import EmailLinkVerifiedModal from './email-link-verified-modal.jsx'; +import './email-link-verified-modal.scss'; + +export default EmailLinkVerifiedModal; diff --git a/packages/p2p/src/components/email-verification-modal/email-verification-modal.jsx b/packages/p2p/src/components/email-verification-modal/email-verification-modal.jsx new file mode 100644 index 000000000000..b17d9a663e86 --- /dev/null +++ b/packages/p2p/src/components/email-verification-modal/email-verification-modal.jsx @@ -0,0 +1,109 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button, Icon, Modal, Text } from '@deriv/components'; +import { Localize } from 'Components/i18next'; + +const EmailVerificationModal = ({ + email_address, + is_email_verification_modal_open, + onClickResendEmailButton, + setIsEmailVerificationModalOpen, + should_show_resend_email_button = true, + // TODO: Uncomment when time is available in BE response + // remaining_time, + // verification_link_expiry_time, +}) => { + const [should_show_reasons_if_no_email, setShouldShowReasonsIfNoEmail] = React.useState(false); + + return ( + <>} + toggleModal={() => setIsEmailVerificationModalOpen(false)} + width='440px' + > + + + + ]} + values={{ email_address }} + /> + + + {/* TODO: Uncomment when time is available in BE response */} + + + setShouldShowReasonsIfNoEmail(true)} + size='xs' + weight='bold' + > + + + {should_show_reasons_if_no_email && ( + +
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ )} +
+ {should_show_resend_email_button && should_show_reasons_if_no_email && ( + + + + )} +
+ ); +}; + +EmailVerificationModal.propTypes = { + email_address: PropTypes.string, + is_email_verification_modal_open: PropTypes.bool, + onClickResendEmailButton: PropTypes.func, + // TODO: Uncomment when time is available in BE response + // remaining_time: PropTypes.string, + setIsEmailVerificationModalOpen: PropTypes.func, + should_show_resend_email_button: PropTypes.bool, + // TODO: Uncomment when time is available in BE response + // verification_link_expiry_time: PropTypes.number, +}; + +export default EmailVerificationModal; diff --git a/packages/p2p/src/components/email-verification-modal/email-verification-modal.scss b/packages/p2p/src/components/email-verification-modal/email-verification-modal.scss new file mode 100644 index 000000000000..ad8d834fa79b --- /dev/null +++ b/packages/p2p/src/components/email-verification-modal/email-verification-modal.scss @@ -0,0 +1,42 @@ +.dc-modal__container_email-verification-modal { + max-height: 80vh; + overflow: auto; +} + +.email-verification-modal { + &--body { + align-items: center; + display: flex; + flex-direction: column; + } + + &--email_text { + margin: 2.4rem 0; + } + + &--footer { + @include mobile { + justify-content: center; + } + } + + &--reason { + display: flex; + flex-direction: row; + gap: 1.6rem; + margin: 2.4rem 0; + + &__text { + max-width: 34rem; + } + } + + &--receive_email_text { + cursor: pointer; + margin: 3rem 0 0.6rem; + + @include mobile { + margin: 3rem 0 2.6rem; + } + } +} diff --git a/packages/p2p/src/components/email-verification-modal/index.js b/packages/p2p/src/components/email-verification-modal/index.js new file mode 100644 index 000000000000..6101a5043db1 --- /dev/null +++ b/packages/p2p/src/components/email-verification-modal/index.js @@ -0,0 +1,4 @@ +import EmailVerificationModal from './email-verification-modal.jsx'; +import './email-verification-modal.scss'; + +export default EmailVerificationModal; diff --git a/packages/p2p/src/components/error-modal/error-modal.jsx b/packages/p2p/src/components/error-modal/error-modal.jsx new file mode 100644 index 000000000000..05a356c5d7cc --- /dev/null +++ b/packages/p2p/src/components/error-modal/error-modal.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button, Modal } from '@deriv/components'; +import { Localize } from 'Components/i18next'; + +const ErrorModal = ({ error_message, error_modal_title, is_error_modal_open, setIsErrorModalOpen }) => { + return ( + + {error_message} + + + + + ); +}; + +ErrorModal.propTypes = { + error_message: PropTypes.string, + error_modal_title: PropTypes.string, + is_error_modal_open: PropTypes.bool, + setIsErrorModalOpen: PropTypes.func, +}; diff --git a/packages/p2p/src/components/error-modal/index.js b/packages/p2p/src/components/error-modal/index.js new file mode 100644 index 000000000000..1e38a565cb4c --- /dev/null +++ b/packages/p2p/src/components/error-modal/index.js @@ -0,0 +1,3 @@ +import ErrorModal from './error-modal.jsx'; + +export default ErrorModal; diff --git a/packages/p2p/src/components/invalid-verification-link-modal/index.js b/packages/p2p/src/components/invalid-verification-link-modal/index.js new file mode 100644 index 000000000000..bf5d817dfe0e --- /dev/null +++ b/packages/p2p/src/components/invalid-verification-link-modal/index.js @@ -0,0 +1,4 @@ +import InvalidVerificationLinkModal from './invalid-verification-link-modal.jsx'; +import './invalid-verification-link-modal.scss'; + +export default InvalidVerificationLinkModal; diff --git a/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.jsx b/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.jsx new file mode 100644 index 000000000000..640d18aef1a2 --- /dev/null +++ b/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.jsx @@ -0,0 +1,56 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button, Icon, Modal, Text } from '@deriv/components'; +import { Localize } from 'Components/i18next'; + +const InvalidVerificationLinkModal = ({ + invalid_verification_link_error_message, + is_invalid_verification_link_modal_open, + onClickGetNewLinkButton, + setIsInvalidVerificationLinkModalOpen, + // TODO: Uncomment when time is available in BE response + // verification_link_expiry_time, +}) => { + return ( + <>} + toggleModal={() => setIsInvalidVerificationLinkModalOpen(false)} + width='440px' + > + + + + + + + {invalid_verification_link_error_message} + + + + + + + ); +}; + +InvalidVerificationLinkModal.propTypes = { + invalid_verification_link_error_message: PropTypes.string, + is_invalid_verification_link_modal_open: PropTypes.bool, + onClickGetNewLinkButton: PropTypes.func, + setIsInvalidVerificationLinkModalOpen: PropTypes.func, + // TODO: Uncomment when time is available in BE response + // verification_link_expiry_time: PropTypes.number, +}; + +export default InvalidVerificationLinkModal; diff --git a/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.scss b/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.scss new file mode 100644 index 000000000000..887366940e0f --- /dev/null +++ b/packages/p2p/src/components/invalid-verification-link-modal/invalid-verification-link-modal.scss @@ -0,0 +1,13 @@ +.invalid-verification-link-modal { + align-items: center; + display: flex; + flex-direction: column; + + &--footer { + align-self: center; + } + + &--text { + margin: 2.4rem 0; + } +} diff --git a/packages/p2p/src/components/loading-modal/index.js b/packages/p2p/src/components/loading-modal/index.js new file mode 100644 index 000000000000..41606f6895e6 --- /dev/null +++ b/packages/p2p/src/components/loading-modal/index.js @@ -0,0 +1,3 @@ +import LoadingModal from './loading-modal.jsx'; + +export default LoadingModal; diff --git a/packages/p2p/src/components/loading-modal/loading-modal.jsx b/packages/p2p/src/components/loading-modal/loading-modal.jsx new file mode 100644 index 000000000000..7ff444d16f41 --- /dev/null +++ b/packages/p2p/src/components/loading-modal/loading-modal.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Loading, Modal } from '@deriv/components'; + +const LoadingModal = ({ is_loading_modal_open }) => { + return ( + + + + ); +}; + +LoadingModal.propTypes = { + is_loading_modal_open: PropTypes.bool, +}; + +export default LoadingModal; diff --git a/packages/p2p/src/components/order-details/order-details-cancel-modal.jsx b/packages/p2p/src/components/order-details/order-details-cancel-modal.jsx index dde71eedf3bd..e327158eff91 100644 --- a/packages/p2p/src/components/order-details/order-details-cancel-modal.jsx +++ b/packages/p2p/src/components/order-details/order-details-cancel-modal.jsx @@ -56,7 +56,7 @@ const OrderDetailsCancelModal = ({ hideCancelOrderModal, order_id, should_show_c ) : ( { hideConfirmOrderModal(); - order_store.confirmOrderRequest(id); - if (!is_buy_order_for_user) { - clearTimeout(wait); - - const wait = setTimeout(() => { - order_store.setIsRatingModalOpen(true); - }, 250); - } + setIsCheckboxChecked(false); + order_store.confirmOrderRequest(id, is_buy_order_for_user); }} > {is_buy_order_for_user ? ( diff --git a/packages/p2p/src/components/order-details/order-details-footer.jsx b/packages/p2p/src/components/order-details/order-details-footer.jsx index 4e83d97faf40..7885ba6090aa 100644 --- a/packages/p2p/src/components/order-details/order-details-footer.jsx +++ b/packages/p2p/src/components/order-details/order-details-footer.jsx @@ -11,6 +11,7 @@ import OrderDetailsConfirmModal from './order-details-confirm-modal.jsx'; const OrderDetailsFooter = observer(() => { const { order_store } = useStores(); const { + // id, is_buy_order_for_user, should_show_cancel_and_paid_button, should_show_complain_and_received_button, @@ -42,6 +43,14 @@ const OrderDetailsFooter = observer(() => { const hideConfirmOrderModal = () => setShouldShowConfirmModal(false); const showConfirmOrderModal = () => setShouldShowConfirmModal(true); + // TODO: Uncomment this when we're ready to remove the modal + // const showConfirmOrderModal = () => { + // if (is_buy_order_for_user) { + // setShouldShowConfirmModal(true); + // } else { + // order_store.confirmOrderRequest(id); + // } + // }; if (should_show_cancel_and_paid_button) { return ( diff --git a/packages/p2p/src/components/order-details/order-details-wrapper.jsx b/packages/p2p/src/components/order-details/order-details-wrapper.jsx index 8f43b341e0ab..e08e8fea5f53 100644 --- a/packages/p2p/src/components/order-details/order-details-wrapper.jsx +++ b/packages/p2p/src/components/order-details/order-details-wrapper.jsx @@ -6,7 +6,7 @@ import PageReturn from 'Components/page-return/page-return.jsx'; import { useStores } from 'Stores'; import OrderDetailsFooter from 'Components/order-details/order-details-footer.jsx'; -const OrderDetailsWrapper = ({ children, onPageReturn, page_title }) => { +const OrderDetailsWrapper = ({ children, page_title }) => { const { order_store, sendbird_store } = useStores(); return isMobile() ? (
@@ -16,7 +16,7 @@ const OrderDetailsWrapper = ({ children, onPageReturn, page_title }) => { height_offset='80px' is_flex is_modal_open - pageHeaderReturnFn={onPageReturn} + pageHeaderReturnFn={order_store.onPageReturn} page_header_text={page_title} renderPageHeaderTrailingIcon={() => ( {
) : ( - + {children} ); @@ -46,7 +46,6 @@ const OrderDetailsWrapper = ({ children, onPageReturn, page_title }) => { OrderDetailsWrapper.propTypes = { children: PropTypes.any, - onPageReturn: PropTypes.func, page_title: PropTypes.string, }; diff --git a/packages/p2p/src/components/order-details/order-details.jsx b/packages/p2p/src/components/order-details/order-details.jsx index d0421171477c..24b4be6c0d19 100644 --- a/packages/p2p/src/components/order-details/order-details.jsx +++ b/packages/p2p/src/components/order-details/order-details.jsx @@ -1,11 +1,11 @@ import classNames from 'classnames'; import React from 'react'; -import PropTypes from 'prop-types'; import { Button, HintBox, Icon, Text, ThemedScrollbars } from '@deriv/components'; import { formatMoney, isDesktop, isMobile } from '@deriv/shared'; import { observer } from 'mobx-react-lite'; import { Localize, localize } from 'Components/i18next'; import Chat from 'Components/orders/chat/chat.jsx'; +import EmailVerificationModal from 'Components/email-verification-modal'; import RatingModal from 'Components/rating-modal'; import StarRating from 'Components/star-rating'; import UserRatingButton from 'Components/user-rating-button'; @@ -20,9 +20,13 @@ import PaymentMethodAccordionContent from './payment-method-accordion-content.js import MyProfileSeparatorContainer from '../my-profile/my-profile-separator-container'; import { setDecimalPlaces, removeTrailingZeros, roundOffDecimal } from 'Utils/format-value'; import 'Components/order-details/order-details.scss'; +import LoadingModal from '../loading-modal'; +import InvalidVerificationLinkModal from '../invalid-verification-link-modal'; +import EmailLinkBlockedModal from '../email-link-blocked-modal'; +import EmailLinkVerifiedModal from '../email-link-verified-modal'; import { getDateAfterHours } from 'Utils/date-time'; -const OrderDetails = observer(({ onPageReturn }) => { +const OrderDetails = observer(() => { const { general_store, order_store, sendbird_store } = useStores(); const { @@ -72,6 +76,8 @@ const OrderDetails = observer(({ onPageReturn }) => { const disposeListeners = sendbird_store.registerEventListeners(); const disposeReactions = sendbird_store.registerMobXReactions(); + order_store.getSettings(); + order_store.getWebsiteStatus(); order_store.setRatingValue(0); order_store.setIsRecommended(undefined); @@ -85,6 +91,7 @@ const OrderDetails = observer(({ onPageReturn }) => { disposeListeners(); disposeReactions(); order_store.setOrderPaymentMethodDetails(undefined); + order_store.setOrderId(null); }; }, []); // eslint-disable-line react-hooks/exhaustive-deps @@ -110,7 +117,7 @@ const OrderDetails = observer(({ onPageReturn }) => { : client_details?.is_recommended; return ( - + {is_active_order && ( { /> )} + {!is_buy_order_for_user && ( + + order_store.confirmOrderRequest(id)} + setIsEmailVerificationModalOpen={order_store.setIsEmailVerificationModalOpen} + /> + order_store.confirmOrder(is_buy_order_for_user)} + setIsEmailLinkVerifiedModalOpen={order_store.setIsEmailLinkVerifiedModalOpen} + /> + order_store.confirmOrderRequest(id)} + /> + + + + )}
@@ -395,8 +431,4 @@ const OrderDetails = observer(({ onPageReturn }) => { ); }); -OrderDetails.propTypes = { - onPageReturn: PropTypes.func, -}; - export default OrderDetails; diff --git a/packages/p2p/src/components/orders/orders.jsx b/packages/p2p/src/components/orders/orders.jsx index c0899b893a6f..dcd56b102159 100644 --- a/packages/p2p/src/components/orders/orders.jsx +++ b/packages/p2p/src/components/orders/orders.jsx @@ -19,7 +19,10 @@ const Orders = observer(() => { React.useEffect(() => { const disposeOrderIdReaction = reaction( () => order_store.order_id, - () => order_store.onOrderIdUpdate(), + () => { + // DO NOT REMOVE. This fixes all P2P order routing issues + order_store.onOrderIdUpdate(); + }, { fireImmediately: true } ); @@ -41,7 +44,7 @@ const Orders = observer(() => { if (order_store.order_information) { return (
- order_store.hideDetails(true)} /> +
); } diff --git a/packages/p2p/src/components/rating-modal/rating-modal.jsx b/packages/p2p/src/components/rating-modal/rating-modal.jsx index c63bc2203b79..e0b34f2f378d 100644 --- a/packages/p2p/src/components/rating-modal/rating-modal.jsx +++ b/packages/p2p/src/components/rating-modal/rating-modal.jsx @@ -25,6 +25,7 @@ const RatingModal = ({ is_open={is_rating_modal_open} title={localize('How would you rate this transaction?')} toggleModal={onClickSkip} + width={isMobile() && '90vw'} >
@@ -38,7 +39,7 @@ const RatingModal = ({ onClick={onClickStar} rating_value={rating_value} should_allow_half_icon={false} - star_size={isMobile() ? 17 : 20} + star_size={isMobile() ? 25 : 20} />
{rating_value > 0 && ( diff --git a/packages/p2p/src/stores/order-store.js b/packages/p2p/src/stores/order-store.js index 66a09790dd44..87ba18d5688f 100644 --- a/packages/p2p/src/stores/order-store.js +++ b/packages/p2p/src/stores/order-store.js @@ -23,7 +23,12 @@ export default class OrderStore { @observable cancels_remaining = null; @observable error_message = ''; @observable has_more_items_to_load = false; + @observable is_email_link_blocked_modal_open = false; + @observable is_email_link_verified_modal_open = false; + @observable is_email_verification_modal_open = false; + @observable is_invalid_verification_link_modal_open = false; @observable is_loading = false; + @observable is_loading_modal_open = false; @observable is_rating_modal_open = false; @observable is_recommended = undefined; @observable orders = []; @@ -31,6 +36,9 @@ export default class OrderStore { @observable order_payment_method_details = null; @observable order_rerender_timeout = null; @observable rating_value = 0; + @observable user_email_address = ''; + @observable verification_code = ''; + @observable verification_link_error_message = ''; interval; order_info_subscription = {}; @@ -45,7 +53,6 @@ export default class OrderStore { get order_information() { const { general_store } = this.root_store; const order = this.orders.find(o => o.id === this.order_id); - return order ? createExtendedOrderDetails(order, general_store.client.loginid, general_store.props.server_time) : null; @@ -57,15 +64,63 @@ export default class OrderStore { } @action.bound - confirmOrderRequest(id) { + confirmOrderRequest(id, is_buy_order_for_user) { const { order_details_store } = this.root_store; - requestWS({ p2p_order_confirm: 1, id, }).then(response => { - if (response && response.error) { - order_details_store.setErrorMessage(response.error.message); + if (response) { + if (response.error) { + if (response.error.code === 'OrderEmailVerificationRequired') { + clearTimeout(wait); + const wait = setTimeout(() => this.setIsEmailVerificationModalOpen(true), 250); + } else if ( + response?.error.code === 'InvalidVerificationToken' || + response?.error.code === 'ExcessiveVerificationRequests' + ) { + clearTimeout(wait); + if (this.is_email_verification_modal_open) { + this.setIsEmailVerificationModalOpen(false); + } + if (this.is_email_link_verified_modal_open) { + this.setIsEmailLinkVerifiedModalOpen(false); + } + this.setVerificationLinkErrorMessage(response.error.message); + const wait = setTimeout(() => this.setIsInvalidVerificationLinkModalOpen(true), 230); + } else if (response?.error.code === 'ExcessiveVerificationFailures') { + if (this.is_invalid_verification_link_modal_open) { + this.setIsInvalidVerificationLinkModalOpen(false); + } + clearTimeout(wait); + this.setVerificationLinkErrorMessage(response.error.message); + const wait = setTimeout(() => this.setIsEmailLinkBlockedModalOpen(true), 230); + } else { + order_details_store.setErrorMessage(response.error.message); + } + } else if (!is_buy_order_for_user) { + this.setIsRatingModalOpen(true); + } + + localStorage.removeItem('verification_code.p2p_order_confirm'); + } + }); + } + + @action.bound + confirmOrder(is_buy_order_for_user) { + requestWS({ + p2p_order_confirm: 1, + id: this.order_id, + verification_code: this.verification_code, + }).then(response => { + if (response && !response.error) { + if (!is_buy_order_for_user) { + clearTimeout(wait); + const wait = setTimeout(() => { + this.setIsRatingModalOpen(true); + }, 230); + } } }); } @@ -79,10 +134,18 @@ export default class OrderStore { this.setCancelsRemaining(response.p2p_advertiser_info.cancels_remaining); } }); - this.getWebsiteStatus(setShouldShowCancelModal); } + @action.bound + getSettings() { + requestWS({ get_settings: 1 }).then(response => { + if (response && !response.error) { + this.setUserEmailAddress(response.get_settings.email); + } + }); + } + @action.bound getWebsiteStatus(setShouldShowCancelModal) { requestWS({ website_status: 1 }).then(response => { @@ -94,7 +157,6 @@ export default class OrderStore { this.setCancellationCountPeriod(p2p_config.cancellation_count_period); this.setCancellationLimit(p2p_config.cancellation_limit); } - if (typeof setShouldShowCancelModal === 'function') { setShouldShowCancelModal(true); } @@ -111,18 +173,15 @@ export default class OrderStore { if (should_navigate && this.nav) { this.root_store.general_store.redirectTo(this.nav.location); } - this.setOrderId(null); } @action.bound loadMoreOrders({ startIndex }) { this.setApiErrorMessage(''); - return new Promise(resolve => { const { general_store } = this.root_store; const active = general_store.is_active_tab ? 1 : 0; - requestWS({ p2p_order_list: 1, active, @@ -191,6 +250,11 @@ export default class OrderStore { } } + @action.bound + onPageReturn() { + this.hideDetails(true); + } + @action.bound onUnmount() { clearTimeout(this.order_rerender_timeout); @@ -198,6 +262,19 @@ export default class OrderStore { this.hideDetails(false); } + @action.bound + setOrderDetails(response) { + if (response) { + if (!response?.error) { + const { p2p_order_info } = response; + + this.setQueryDetails(p2p_order_info); + } else { + this.unsubscribeFromCurrentOrder(); + } + } + } + @action.bound setOrderRating(id) { const rating = this.rating_value / 20; @@ -217,6 +294,53 @@ export default class OrderStore { }); } + @action.bound + setQueryDetails(input_order) { + const { general_store } = this.root_store; + const order_information = createExtendedOrderDetails( + input_order, + general_store.client.loginid, + general_store.props.server_time + ); + this.setOrderId(order_information.id); // Sets the id in URL + if (order_information.is_active_order) { + general_store.setOrderTableType(order_list.ACTIVE); + } else { + general_store.setOrderTableType(order_list.INACTIVE); + } + if (order_information?.payment_method_details) { + this.setOrderPaymentMethodDetails(Object.values(order_information?.payment_method_details)); + } + // When viewing specific order, update its read state in localStorage. + const { notifications } = this.root_store.general_store.getLocalStorageSettingsForLoginId(); + + if (notifications.length) { + const notification = notifications.find(n => n.order_id === order_information.id); + + if (notification) { + notification.is_seen = true; + this.root_store.general_store.updateP2pNotifications(notifications); + } + } + + // Force a refresh of this order when it's expired to correctly + // reflect the status of the order. This is to work around a BE issue + // where they only expire contracts once a minute rather than on expiry time. + const { remaining_seconds } = order_information; + + if (remaining_seconds > 0) { + clearTimeout(this.order_rerender_timeout); + + this.setOrderRendererTimeout( + setTimeout(() => { + if (typeof this.forceRerenderFn === 'function') { + this.forceRerenderFn(order_information.id); + } + }, (remaining_seconds + 1) * 1000) + ); + } + } + @action.bound subscribeToCurrentOrder() { this.order_info_subscription = subscribeWS( @@ -281,8 +405,38 @@ export default class OrderStore { } @action.bound - setForceRerenderOrders(forceRerenderFn) { - this.forceRerenderFn = forceRerenderFn; + verifyEmailVerificationCode(verification_action, verification_code) { + if (verification_action === 'p2p_order_confirm' && verification_code) { + requestWS({ + p2p_order_confirm: 1, + id: this.order_id, + verification_code, + dry_run: 1, + }).then(response => { + this.setIsLoadingModalOpen(false); + if (response) { + if (!response.error) { + clearTimeout(wait); + const wait = setTimeout(() => this.setIsEmailLinkVerifiedModalOpen(true), 650); + } else if ( + response.error.code === 'InvalidVerificationToken' || + response.error.code === 'ExcessiveVerificationRequests' + ) { + clearTimeout(wait); + this.setVerificationLinkErrorMessage(response.error.message); + const wait = setTimeout(() => this.setIsInvalidVerificationLinkModalOpen(true), 750); + } else if (response.error.code === 'ExcessiveVerificationFailures') { + if (this.is_invalid_verification_link_modal_open) { + this.setIsInvalidVerificationLinkModalOpen(false); + } + clearTimeout(wait); + this.setVerificationLinkErrorMessage(response.error.message); + const wait = setTimeout(() => this.setIsEmailLinkBlockedModalOpen(true), 600); + } + localStorage.removeItem('verification_code.p2p_order_confirm'); + } + }); + } } @action.bound @@ -320,16 +474,46 @@ export default class OrderStore { this.error_message = error_message; } + @action.bound + setForceRerenderOrders(forceRerenderFn) { + this.forceRerenderFn = forceRerenderFn; + } + @action.bound setHasMoreItemsToLoad(has_more_items_to_load) { this.has_more_items_to_load = has_more_items_to_load; } + @action.bound + setIsEmailLinkBlockedModalOpen(is_email_link_blocked_modal_open) { + this.is_email_link_blocked_modal_open = is_email_link_blocked_modal_open; + } + + @action.bound + setIsEmailLinkVerifiedModalOpen(is_email_link_verified_modal_open) { + this.is_email_link_verified_modal_open = is_email_link_verified_modal_open; + } + + @action.bound + setIsEmailVerificationModalOpen(is_email_verification_modal_open) { + this.is_email_verification_modal_open = is_email_verification_modal_open; + } + + @action.bound + setIsInvalidVerificationLinkModalOpen(is_invalid_verification_link_modal_open) { + this.is_invalid_verification_link_modal_open = is_invalid_verification_link_modal_open; + } + @action.bound setIsLoading(is_loading) { this.is_loading = is_loading; } + @action.bound + setIsLoadingModalOpen(is_loading_modal_open) { + this.is_loading_modal_open = is_loading_modal_open; + } + @action.bound setIsRatingModalOpen(is_rating_modal_open) { this.is_rating_modal_open = is_rating_modal_open; @@ -341,19 +525,9 @@ export default class OrderStore { } @action.bound - setOrderPaymentMethodDetails(order_payment_method_details) { - this.order_payment_method_details = order_payment_method_details; - } - - @action.bound - setOrderDetails(response) { - if (!response.error) { - const { p2p_order_info } = response; - - this.setQueryDetails(p2p_order_info); - } else { - this.unsubscribeFromCurrentOrder(); - } + setOrders(orders) { + this.previous_orders = cloneObject(this.orders); + this.orders = orders; } @action.bound @@ -368,9 +542,8 @@ export default class OrderStore { } @action.bound - setOrders(orders) { - this.previous_orders = cloneObject(this.orders); - this.orders = orders; + setOrderPaymentMethodDetails(order_payment_method_details) { + this.order_payment_method_details = order_payment_method_details; } @action.bound @@ -379,54 +552,24 @@ export default class OrderStore { } @action.bound - setQueryDetails(input_order) { - const { general_store } = this.root_store; - const order_information = createExtendedOrderDetails( - input_order, - general_store.client.loginid, - general_store.props.server_time - ); - this.setOrderId(order_information.id); // Sets the id in URL - if (order_information.is_active_order) { - general_store.setOrderTableType(order_list.ACTIVE); - } else { - general_store.setOrderTableType(order_list.INACTIVE); - } - if (order_information?.payment_method_details) { - this.setOrderPaymentMethodDetails(Object.values(order_information?.payment_method_details)); - } - // When viewing specific order, update its read state in localStorage. - const { notifications } = this.root_store.general_store.getLocalStorageSettingsForLoginId(); - - if (notifications.length) { - const notification = notifications.find(n => n.order_id === order_information.id); - - if (notification) { - notification.is_seen = true; - this.root_store.general_store.updateP2pNotifications(notifications); - } - } - - // Force a refresh of this order when it's expired to correctly - // reflect the status of the order. This is to work around a BE issue - // where they only expire contracts once a minute rather than on expiry time. - const { remaining_seconds } = order_information; + setRatingValue(rating_value) { + this.rating_value = rating_value; + } - if (remaining_seconds > 0) { - clearTimeout(this.order_rerender_timeout); + @action.bound + setUserEmailAddress(user_email_address) { + this.user_email_address = user_email_address; + } - this.setOrderRendererTimeout( - setTimeout(() => { - if (typeof this.forceRerenderFn === 'function') { - this.forceRerenderFn(order_information.id); - } - }, (remaining_seconds + 1) * 1000) - ); - } + // This is only for the order confirmation request, + // since on confirmation the code is removed from the query params + @action.bound + setVerificationCode(verification_code) { + this.verification_code = verification_code; } @action.bound - setRatingValue(rating_value) { - this.rating_value = rating_value; + setVerificationLinkErrorMessage(verification_link_error_message) { + this.verification_link_error_message = verification_link_error_message; } } From 0e097344a0afac8eac39ad820421154927b6bf73 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Sep 2022 18:17:16 +0800 Subject: [PATCH 03/27] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#6426)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com> --- packages/p2p/crowdin/messages.json | 2 +- packages/p2p/src/translations/es.json | 18 ++++++++++++++++-- packages/p2p/src/translations/fr.json | 18 ++++++++++++++++-- packages/p2p/src/translations/id.json | 18 ++++++++++++++++-- packages/p2p/src/translations/it.json | 18 ++++++++++++++++-- packages/p2p/src/translations/pl.json | 18 ++++++++++++++++-- packages/p2p/src/translations/pt.json | 18 ++++++++++++++++-- packages/p2p/src/translations/ru.json | 18 ++++++++++++++++-- packages/p2p/src/translations/th.json | 18 ++++++++++++++++-- packages/p2p/src/translations/tr.json | 18 ++++++++++++++++-- packages/p2p/src/translations/vi.json | 18 ++++++++++++++++-- packages/p2p/src/translations/zh_cn.json | 18 ++++++++++++++++-- packages/p2p/src/translations/zh_tw.json | 18 ++++++++++++++++-- 13 files changed, 193 insertions(+), 25 deletions(-) diff --git a/packages/p2p/crowdin/messages.json b/packages/p2p/crowdin/messages.json index 85a1b4d4d7a4..96abe1b20f81 100644 --- a/packages/p2p/crowdin/messages.json +++ b/packages/p2p/crowdin/messages.json @@ -1 +1 @@ -{"6794664":"Ads that match your Deriv P2P balance and limit.","21103557":"Deriv P2P balance = deposits that can’t be reversed (bank transfers, etc.) + a portion of deposits that might be reversed (credit card payments, etc.)","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","51881712":"You already have an ad with the same exchange rate for this currency pair and order type.

Please set a different rate for your ad.","55916349":"All","68867477":"Order ID {{ id }}","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","145959105":"Choose a nickname","150156106":"Save changes","173939998":"Avg. pay time <0>30d","197477687":"Edit {{ad_type}} ad","203271702":"Try again","233677840":"of the market rate","246815378":"Once set, your nickname cannot be changed.","276261353":"Avg pay time <0>30d","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","338910048":"You will appear to other users as","364681129":"Contact details","407600801":"Have you paid {{amount}} {{currency}} to {{other_user_name}}?","416167062":"You'll receive","424668491":"expired","439264204":"Please set a different minimum and/or maximum order limit.

The range of your ad should not overlap with any of your active ads.","452752527":"Rate (1 {{ currency }})","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","498500965":"Seller's nickname","501523417":"You have no orders.","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","560402954":"User rating","565060416":"Exchange rate","580715136":"Please register with us!","587882987":"Advertisers","592082899":"Cannot repeat a character more than 5 times.","611376642":"Clear","612069973":"Would you recommend this buyer?","628581263":"The {{local_currency}} market rate has changed.","649549724":"I’ve not received any payment.","662578726":"Available","671582270":"Max available amount is {{value}}","683273691":"Rate (1 {{ account_currency }})","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","830703311":"My profile","838024160":"Bank details","842911528":"Don’t show this message again.","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881141084":"If you cancel this order, you’ll be blocked from using Deriv P2P for {{block_duration}} hours.","881351325":"Would you recommend this seller?","887667868":"Order","949859957":"Submit","954233511":"Sold","957529514":"To place an order, add one of the advertiser’s preferred payment methods:","988380202":"Your instructions","1001160515":"Sell","1002264993":"Seller's real name","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1052094244":"Max order","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1080990424":"Confirm","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1103731601":"Your ads are paused","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1119887091":"Verification","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1147508780":"{{accordion_state}}","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1161621759":"Choose your nickname","1162965175":"Buyer","1163072833":"<0>ID verified","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1202500203":"Pay now","1228352589":"Not rated yet","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1265751551":"Deriv P2P Balance","1286797620":"Active","1287051975":"Nickname is too long","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1328352136":"Sell {{ account_currency }}","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1381949324":"<0>Address verified","1422356389":"No results for \"{{text}}\".","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1505293001":"Trade partners","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1691540875":"Edit payment method","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1738504192":"E-wallet","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1848044659":"You have no ads.","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1886623509":"{{ad_type}} {{ account_currency }}","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","2020104747":"Filter","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2091671594":"Status","2096014107":"Apply","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2144972362":"Please use live chat to contact our Customer Support team for help.","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-857786650":"Check your verification status.","-612892886":"We’ll need you to upload your documents to verify your identity.","-2090325029":"Identity verification is complete.","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-885044836":"{{field_name}} should not exceed Max limit","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-480724783":"You already have an ad with this rate","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1597110099":"Receive","-892663026":"Your contact details","-1875343569":"Seller's payment details","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-137444201":"Buy","-1306639327":"Payment methods","-1102534097":"No ads","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-1845037007":"Advertiser's page","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-1070228546":"Joined {{days_since_joined}}d","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-1285759343":"Search","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-412680608":"Add payment method","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1325806155":"There are no ads.","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-75934135":"Matching ads","-1856204727":"Reset","-1638172550":"To enable this feature you must complete the following:","-559300364":"Your Deriv P2P cashier is blocked","-740038242":"Your rate is","-674715853":"Your ad exceeds the daily limit","-744406":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","-329713179":"Ok","-984140537":"Add","-1072444041":"Update ad","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1179827369":"Create new ad","-1601971804":"Cancel your edits?","-1571737200":"Don't cancel","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-372210670":"Rate (1 {{account_currency}})","-1400835517":"{{ad_type}} {{ id }}","-727433417":"{{status}}","-1667041441":"Rate (1 {{ offered_currency }})","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-1797936681":"Fixed rates are enabled for {{local_currency}}. Ads with floating rates will be deactivated. Switch to fixed rates by {{end_date}}.","-792015701":"Deriv P2P cashier is unavailable in your country.","-1220275347":"You may choose up to 3 payment methods for this ad.","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-806152028":"Your ads are running","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-2090878601":"Daily limit","-130547447":"Trade volume <0>30d | <1>lifetime","-1792280476":"Choose your payment method","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-383030149":"You haven’t added any payment methods yet","-1269362917":"Add new","-146021156":"Delete {{payment_method_name}}?","-231863107":"No","-532709160":"Your nickname","-2008992756":"Do you want to cancel this order?","-1666369246":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining.)","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-1447732068":"Payment confirmation","-1485778481":"Have you received payment?","-403938778":"Please confirm only after checking your bank or e-wallet account to make sure you have received payment.","-1875011752":"Yes, I've paid","-1146269362":"I've received {{amount}} {{currency}}","-563116612":"I haven't paid yet","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-1983512566":"This conversation is closed.","-1797318839":"In case of a dispute, we will only consider the communication through Deriv P2P chat channel.","-283017497":"Retry","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-1340125291":"Done","-237014436":"Recommended by {{recommended_count}} trader","-1463630097":"Recommended by 0 traders","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-930400128":"To use Deriv P2P, you need to choose a display name (a nickname) and verify your identity."} \ No newline at end of file +{"6794664":"Ads that match your Deriv P2P balance and limit.","21103557":"Deriv P2P balance = deposits that can’t be reversed (bank transfers, etc.) + a portion of deposits that might be reversed (credit card payments, etc.)","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","51881712":"You already have an ad with the same exchange rate for this currency pair and order type.

Please set a different rate for your ad.","55916349":"All","68867477":"Order ID {{ id }}","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","145959105":"Choose a nickname","150156106":"Save changes","173939998":"Avg. pay time <0>30d","197477687":"Edit {{ad_type}} ad","203271702":"Try again","233677840":"of the market rate","246815378":"Once set, your nickname cannot be changed.","276261353":"Avg pay time <0>30d","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","338910048":"You will appear to other users as","364681129":"Contact details","407600801":"Have you paid {{amount}} {{currency}} to {{other_user_name}}?","416167062":"You'll receive","424668491":"expired","439264204":"Please set a different minimum and/or maximum order limit.

The range of your ad should not overlap with any of your active ads.","452752527":"Rate (1 {{ currency }})","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","476023405":"Didn't receive the email?","488150742":"Resend email","498500965":"Seller's nickname","501523417":"You have no orders.","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","560402954":"User rating","565060416":"Exchange rate","580715136":"Please register with us!","587882987":"Advertisers","592082899":"Cannot repeat a character more than 5 times.","611376642":"Clear","612069973":"Would you recommend this buyer?","628581263":"The {{local_currency}} market rate has changed.","649549724":"I’ve not received any payment.","661808069":"Resend email {{remaining_time}}","662578726":"Available","671582270":"Max available amount is {{value}}","683273691":"Rate (1 {{ account_currency }})","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","830703311":"My profile","838024160":"Bank details","842911528":"Don’t show this message again.","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881351325":"Would you recommend this seller?","887667868":"Order","949859957":"Submit","954233511":"Sold","957529514":"To place an order, add one of the advertiser’s preferred payment methods:","988380202":"Your instructions","1001160515":"Sell","1002264993":"Seller's real name","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1052094244":"Max order","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1080990424":"Confirm","1089110190":"You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1103731601":"Your ads are paused","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1119887091":"Verification","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1147508780":"{{accordion_state}}","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1161621759":"Choose your nickname","1162965175":"Buyer","1163072833":"<0>ID verified","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1202500203":"Pay now","1228352589":"Not rated yet","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1265751551":"Deriv P2P Balance","1286797620":"Active","1287051975":"Nickname is too long","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1328352136":"Sell {{ account_currency }}","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1381949324":"<0>Address verified","1398938904":"We can't deliver the email to this address (usually because of firewalls or filtering).","1422356389":"No results for \"{{text}}\".","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1452260922":"Too many failed attempts","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1505293001":"Trade partners","1529843851":"The verification link expires in 10 minutes","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1691540875":"Edit payment method","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1738504192":"E-wallet","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1848044659":"You have no ads.","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1886623509":"{{ad_type}} {{ account_currency }}","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","2020104747":"Filter","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2091671594":"Status","2096014107":"Apply","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2144972362":"Please use live chat to contact our Customer Support team for help.","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-857786650":"Check your verification status.","-612892886":"We’ll need you to upload your documents to verify your identity.","-2090325029":"Identity verification is complete.","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-885044836":"{{field_name}} should not exceed Max limit","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-480724783":"You already have an ad with this rate","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1597110099":"Receive","-892663026":"Your contact details","-1875343569":"Seller's payment details","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-137444201":"Buy","-1306639327":"Payment methods","-1102534097":"No ads","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-1845037007":"Advertiser's page","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-1070228546":"Joined {{days_since_joined}}d","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-1285759343":"Search","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-412680608":"Add payment method","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1325806155":"There are no ads.","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-75934135":"Matching ads","-1856204727":"Reset","-1638172550":"To enable this feature you must complete the following:","-559300364":"Your Deriv P2P cashier is blocked","-2124584325":"We've verified your order","-878014035":"Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.","-1968971120":"We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.","-142727028":"The email is in your spam folder (sometimes things get lost there).","-329713179":"Ok","-740038242":"Your rate is","-1728351486":"Invalid verification link","-1088454544":"Get new link","-674715853":"Your ad exceeds the daily limit","-744406":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","-984140537":"Add","-1072444041":"Update ad","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1179827369":"Create new ad","-1601971804":"Cancel your edits?","-1571737200":"Don't cancel","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-372210670":"Rate (1 {{account_currency}})","-1400835517":"{{ad_type}} {{ id }}","-727433417":"{{status}}","-1667041441":"Rate (1 {{ offered_currency }})","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-1797936681":"Fixed rates are enabled for {{local_currency}}. Ads with floating rates will be deactivated. Switch to fixed rates by {{end_date}}.","-792015701":"Deriv P2P cashier is unavailable in your country.","-1220275347":"You may choose up to 3 payment methods for this ad.","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-806152028":"Your ads are running","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-2090878601":"Daily limit","-130547447":"Trade volume <0>30d | <1>lifetime","-1792280476":"Choose your payment method","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-383030149":"You haven’t added any payment methods yet","-1269362917":"Add new","-146021156":"Delete {{payment_method_name}}?","-231863107":"No","-532709160":"Your nickname","-2008992756":"Do you want to cancel this order?","-1666369246":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining.)","-1618084450":"If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-1447732068":"Payment confirmation","-1485778481":"Have you received payment?","-403938778":"Please confirm only after checking your bank or e-wallet account to make sure you have received payment.","-1875011752":"Yes, I've paid","-1146269362":"I've received {{amount}} {{currency}}","-563116612":"I haven't paid yet","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-1983512566":"This conversation is closed.","-1797318839":"In case of a dispute, we will only consider the communication through Deriv P2P chat channel.","-283017497":"Retry","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-1340125291":"Done","-237014436":"Recommended by {{recommended_count}} trader","-1463630097":"Recommended by 0 traders","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-930400128":"To use Deriv P2P, you need to choose a display name (a nickname) and verify your identity."} \ No newline at end of file diff --git a/packages/p2p/src/translations/es.json b/packages/p2p/src/translations/es.json index 3256e8bac418..c7891e5c0829 100644 --- a/packages/p2p/src/translations/es.json +++ b/packages/p2p/src/translations/es.json @@ -32,6 +32,8 @@ "460477293": "Ingresar mensaje", "464044457": "Alias del comprador", "473688701": "Introduzca una cantidad válida", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Alias del vendedor", "501523417": "No tiene pedidos.", "517202770": "Establecer tasa fija", @@ -48,6 +50,7 @@ "612069973": "¿Recomendaría a este comprador?", "628581263": "La tasa de mercado de {{local_currency}} ha cambiado.", "649549724": "No he recibido ningún pago.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Disponible", "671582270": "La cantidad máx disponible es {{value}}", "683273691": "Tasa (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "No mostrar este mensaje de nuevo.", "873437248": "Instrucciones (opcional)", "876086855": "Complete el formulario de evaluación financiera", - "881141084": "Si cancela este pedido, no podrá utilizar Deriv P2P durante {{block_duration}} horas.", "881351325": "¿Recomendaría a este vendedor?", "887667868": "Pedido", "949859957": "Enviar", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} min", "1065551550": "Establecer tasa flotante", "1080990424": "Confirmar", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "No arriesgue sus fondos con transacciones en efectivo. En su lugar, utilice transferencias bancarias o billeteras electrónicas.", "1103731601": "Sus anuncios están pausados", "1106073960": "Ha creado un anuncio", @@ -108,14 +111,17 @@ "1370999551": "Tasa flotante", "1371193412": "Cancelar", "1381949324": "<0>Direcciónverificada", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "No hay resultados para \"{{text}}\".", "1430413419": "El máximo es {{value}} {{currency}}", "1438103743": "Las tasas flotantes están activas para {{local_currency}}. Los anuncios con tasas fijas se desactivarán. Cambie a tasas flotantes antes de {{end_date}}.", "1448855725": "Agregar método de pago", + "1452260922": "Too many failed attempts", "1467483693": "Pedidos pasados", "1474532322": "Clasificar por", "1480915523": "Saltar", "1505293001": "Socios comerciales", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Si su anuncio no recibe un pedido durante {{adverts_archive_period}} días, se desactivará.", "1587250288": "ID del anuncio {{advert_id}} ", "1607051458": "Buscar por alias", @@ -148,6 +154,7 @@ "1928240840": "Vender {{ currency }}", "1976156928": "Enviará", "1992961867": "Tasa (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtrar", "2029375371": "Instrucciones de pago", "2032274854": "Recomendado por {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "Restablecer", "-1638172550": "Para habilitar esta función, debe completar lo siguiente:", "-559300364": "Su cajero Deriv P2P está bloqueado", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Su tasa es", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Su anuncio excede el límite diario", "-744406": "Su anuncio no aparece en <0>Compra/Venta porque el importe supera su límite diario de {{limit}} {{currency}}.\n <1 /><1 />Todavía puede ver su anuncio en <0>Mis anuncios. Si quiere aumentar su límite diario, contáctenos a través del <2>chat en vivo.", - "-329713179": "Ok", "-984140537": "Añadir", "-1072444041": "Actualizar anuncio", "-1406830100": "Método de pago", @@ -283,6 +296,7 @@ "-532709160": "Su alias", "-2008992756": "¿Desea cancelar este pedido?", "-1666369246": "Si cancela su pedido {{cancellation_limit}} veces en {{cancellation_period}} horas, no podrá usar Deriv P2P durante {{block_duration}} horas.
({{number_of_cancels_remaining}} cancelaciones restantes.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "No cancele si ya ha realizado el pago.", "-1989544601": "Cancelar este pedido", "-492996224": "No cancelar", diff --git a/packages/p2p/src/translations/fr.json b/packages/p2p/src/translations/fr.json index cc7fe8e7ee09..a9904c58fde5 100644 --- a/packages/p2p/src/translations/fr.json +++ b/packages/p2p/src/translations/fr.json @@ -32,6 +32,8 @@ "460477293": "Entrez le message", "464044457": "Pseudo de l'Acheteur", "473688701": "Saisissez un montant", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Pseudo du Vendeur", "501523417": "Vous n'avez aucune commande.", "517202770": "Définir un taux fixe", @@ -48,6 +50,7 @@ "612069973": "Recommanderiez-vous cet acheteur ?", "628581263": "Le taux du marché du {{local_currency}} a changé.", "649549724": "Je n'ai reçu aucun paiement.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Disponible", "671582270": "Le montant maximum disponible est de {{value}}", "683273691": "Taux (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Ne pas montrer de nouveau ce message.", "873437248": "Instructions (facultatif)", "876086855": "Remplissez le formulaire d'évaluation financière", - "881141084": "Si vous annulez cette demande, vous serez bloqué pour utiliser Deriv P2P pendant {{block_duration}} heures.", "881351325": "Recommanderiez-vous ce vendeur ?", "887667868": "Ordre", "949859957": "Envoyer", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} min", "1065551550": "Définir le taux flottant", "1080990424": "Confirmer", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Ne risquez pas vos fonds avec des transactions en espèces. Utilisez plutôt les virements bancaires ou les portefeuilles électroniques.", "1103731601": "Vos annonces sont en pause", "1106073960": "Vous avez créé une annonce", @@ -108,14 +111,17 @@ "1370999551": "Taux flottant", "1371193412": "Annuler", "1381949324": "<0>Adresse vérifiée", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Aucun résultat pour \"{{text}}\".", "1430413419": "Le maximum est {{currency}}{{value}}", "1438103743": "Les taux flottants sont activés pour {{local_currency}}. Les annonces avec des taux fixes seront désactivées. Passez aux taux flottants pour {{end_date}}.", "1448855725": "Ajouter des modes de paiement", + "1452260922": "Too many failed attempts", "1467483693": "Historique des trades", "1474532322": "Trier par", "1480915523": "Ignorer", "1505293001": "Partenaires de trade", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Si l'annonce ne reçoit pas de demande pendant {{adverts_archive_period}} jours, elle sera désactivée.", "1587250288": "ID d'annonce {{advert_id}} ", "1607051458": "Recherche par pseudo", @@ -148,6 +154,7 @@ "1928240840": "Vendre {{ currency }}", "1976156928": "Vous enverrez", "1992961867": "Taux (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtre", "2029375371": "Instructions de paiement", "2032274854": "Recommandé par {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "Réinitialiser", "-1638172550": "Pour activer cette fonctionnalité, vous devez effectuer les opérations suivantes:", "-559300364": "Votre caisse Deriv P2P est verrouillée", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Votre taux est", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Votre annonce dépasse la limite journalière", "-744406": "Votre annonce n'est pas répertoriée sur <0>Achat/Vente car le montant dépasse votre limite quotidienne de {{limit}}. {{currency}}.\n <1 /><1 />Vous pouvez toujours voir votre annonce sur <0>Mes annonces. Si vous souhaitez augmenter votre limite quotidienne, veuillez nous contacter via <2>live chat.", - "-329713179": "Ok", "-984140537": "Ajouter", "-1072444041": "Mise à jour de l'annonce", "-1406830100": "Moyen de paiement", @@ -283,6 +296,7 @@ "-532709160": "Votre pseudo", "-2008992756": "Voulez-vous annuler cette commande?", "-1666369246": "Si vous annulez votre demande {{cancellation_limit}} fois en {{cancellation_period}} heures, vous serez bloqué pour utiliser Deriv P2P pendant {{block_duration}} heures. .
({{number_of_cancels_remaining}} annulations restantes.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Merci de ne pas annuler si vous avez déjà fait un paiement.", "-1989544601": "Annuler cet ordre", "-492996224": "Ne pas annuler", diff --git a/packages/p2p/src/translations/id.json b/packages/p2p/src/translations/id.json index 652f08395e22..204b0b366362 100644 --- a/packages/p2p/src/translations/id.json +++ b/packages/p2p/src/translations/id.json @@ -32,6 +32,8 @@ "460477293": "Masukkan pesan", "464044457": "Nama panggilan pembeli", "473688701": "Masukkan jumlah yang valid", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Nama panggilan penjual", "501523417": "Anda tidak memiliki order.", "517202770": "Atur harga tetap", @@ -48,6 +50,7 @@ "612069973": "Apakah Anda merekomendasikan pembeli ini?", "628581263": "Harga pasar {{local_currency}} telah berubah.", "649549724": "Saya belum menerima pembayaran apapun.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Tersedia", "671582270": "Jumlah maksimum yang tersedia adalah {{value}}", "683273691": "Harga (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Jangan tampilkan pesan ini lagi.", "873437248": "Instruksi (opsional)", "876086855": "Lengkapi formulir penilaian keuangan", - "881141084": "Jika Anda membatalkan order ini, Anda akan diblokir menggunakan Deriv P2P selama {{block_duration}} jam.", "881351325": "Apakah Anda merekomendasikan penjual ini?", "887667868": "Order", "949859957": "Kirim", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} menit", "1065551550": "Atur harga floating", "1080990424": "Mengkonfirmasi", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Jangan risikokan dana Anda menggunakan transaksi tunai. Gunakan transfer bank atau e-wallet.", "1103731601": "Iklan Anda dijeda", "1106073960": "Anda sudah memasang iklan", @@ -108,14 +111,17 @@ "1370999551": "Harga floating", "1371193412": "Batal", "1381949324": "<0>Alamat terverifikasi", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Tidak tersedia hasil untuk \"{{text}}\".", "1430413419": "Maksimum adalah {{value}} {{currency}}", "1438103743": "Harga floating diaktifkan untuk {{local_currency}}. Iklan dengan harga tetap akan dinonaktifkan. Beralih ke harga floating sebelum {{end_date}}.", "1448855725": "Tambah metode pembayaran", + "1452260922": "Too many failed attempts", "1467483693": "Order sebelumnya", "1474532322": "Sortir menurut", "1480915523": "Lewati", "1505293001": "Mitra transaksi", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Jika iklan ini tidak menerima order dalam tempo {{adverts_archive_period}}, maka iklan akan dinonaktifkan.", "1587250288": "Ad ID {{advert_id}} ", "1607051458": "Cari berdasarkan nama panggilan", @@ -148,6 +154,7 @@ "1928240840": "Jual {{ currency }}", "1976156928": "Anda akan mengirim", "1992961867": "Harga (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Pencarian", "2029375371": "Instruksi pembayaran", "2032274854": "Direkomendasikan oleh {{recommended_count}} trader", @@ -229,10 +236,16 @@ "-1856204727": "Reset", "-1638172550": "Untuk mengaktifkan fitur ini Anda harus menyelesaikan hal berikut ini:", "-559300364": "Kasir Deriv P2P Anda dibatalkan", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Harga Anda", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Iklan Anda melebihi batas harian", "-744406": "Iklan Anda tidak tersedia pada <0>Beli/Jual berhubung jumlah telah melebihi batas harian {{limit}} {{currency}}.\n <1 /><1 />Anda masih dapat melihat iklan tersebut pada <0>Iklan saya. Jika Anda memerlukan batasan yang lebih tinggi, hubungi kami di <2>obrolan langsung.", - "-329713179": "Ok", "-984140537": "Tambah", "-1072444041": "Perbarui iklan", "-1406830100": "Metode pembayaran", @@ -283,6 +296,7 @@ "-532709160": "Nama panggilan Anda", "-2008992756": "Apakah Anda ingin membatalkan order ini?", "-1666369246": "Jika Anda membatalkan order {{cancellation_limit}} kali dalam {{cancellation_period}} jam, Anda akan diblokir dari penggunaan Deriv P2P selama {{block_duration}} jam.
({{number_of_cancels_remaining}} pembatalan tersisa.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Jangan batalkan jika Anda sudah melakukan pembayaran.", "-1989544601": "Batalkan order ini", "-492996224": "Jangan batalkan", diff --git a/packages/p2p/src/translations/it.json b/packages/p2p/src/translations/it.json index ffe08877d01a..0ecca18e4484 100644 --- a/packages/p2p/src/translations/it.json +++ b/packages/p2p/src/translations/it.json @@ -32,6 +32,8 @@ "460477293": "Inserisci un messaggio", "464044457": "Soprannome del compratore", "473688701": "Inserisci un importo valido", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Soprannome del venditore", "501523417": "Non hai ordini.", "517202770": "Imposta tasso fisso", @@ -48,6 +50,7 @@ "612069973": "Consiglieresti questo acquirente?", "628581263": "Il tasso di mercato in {{local_currency}} è cambiato.", "649549724": "Non ho ricevuto alcun pagamento.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Disponibile", "671582270": "L'importo massimo disponibile è {{value}}", "683273691": "Tasso (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Non mostrare più questo messaggio.", "873437248": "Istruzioni (opzionali)", "876086855": "Completa il modulo della valutazione finanziaria", - "881141084": "Se annulli l'ordine, non potrai usare Deriv P2P per {{block_duration}} ore.", "881351325": "Consiglieresti questo venditore?", "887667868": "Ordine", "949859957": "Invia", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} min", "1065551550": "Imposta tasso variabile", "1080990424": "Conferma", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Non mettere a rischio i tuoi fondi con transazioni in contanti. Utilizza invece bonifici bancari o portafogli elettronici.", "1103731601": "I tuoi annunci sono stati sospesi", "1106073960": "Hai creato un annuncio", @@ -108,14 +111,17 @@ "1370999551": "Tasso variabile", "1371193412": "Annulla", "1381949324": "<0>Indirizzo verificato", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Nessun risultato per \"{{text}}\".", "1430413419": "Il massimo è {{value}} {{currency}}", "1438103743": "I tassi variabili sono attivi per {{local_currency}}. Gli annunci con tassi fissi verranno disattivati. Passa a tassi variabili entro {{end_date}}.", "1448855725": "Aggiungi modalità di pagamento", + "1452260922": "Too many failed attempts", "1467483693": "Ordini passati", "1474532322": "Ordina per", "1480915523": "Salta", "1505293001": "Partners di trading", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Se non ricevi ordini per il tuo annuncio per {{adverts_archive_period}} giorni, questo verrà disattivato.", "1587250288": "ID annuncio {{advert_id}} ", "1607051458": "Cerca per soprannome", @@ -148,6 +154,7 @@ "1928240840": "Vendi {{ currency }}", "1976156928": "Invia", "1992961867": "Tasso (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtro", "2029375371": "Istruzioni per il pagamento", "2032274854": "Consigliato da {{recommended_count}} trader", @@ -229,10 +236,16 @@ "-1856204727": "Reimposta", "-1638172550": "Per disabilitare questa funzione, completa quanto segue:", "-559300364": "La tua cassa Deriv P2P è bloccata", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Il tuo tasso è", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "L'annuncio supera il limite giornaliero", "-744406": "Il tuo annuncio non è nella lista <0>Acquista/Vendi perche l'importo supera il tuo limite giornaliero di {{limit}} {{currency}}.\n <1 /><1 />Puoi ancora vedere il tuo annuncio su <0>I miei annunci. Se vuoi aumentare il limite giornaliero, contattaci tramite <2>live chat.", - "-329713179": "Ok", "-984140537": "Aggiungi", "-1072444041": "Aggiorna annuncio", "-1406830100": "Modalità di pagamento", @@ -283,6 +296,7 @@ "-532709160": "Soprannome", "-2008992756": "Vuoi annullare l'ordine?", "-1666369246": "Se annulli l'ordine {{cancellation_limit}} volte in {{cancellation_period}} ore, non potrai usare Deriv P2P per {{block_duration}} ore.
({{number_of_cancels_remaining}} cancellazioni rimanenti.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Non annullare l'ordine se hai già effettuato il pagamento.", "-1989544601": "Annulla l'ordine", "-492996224": "Non cancellare", diff --git a/packages/p2p/src/translations/pl.json b/packages/p2p/src/translations/pl.json index aaaf53608d5b..4a1e3a1d2fad 100644 --- a/packages/p2p/src/translations/pl.json +++ b/packages/p2p/src/translations/pl.json @@ -32,6 +32,8 @@ "460477293": "Wprowadź wiadomość", "464044457": "Pseudonim kupującego", "473688701": "Podaj prawidłową kwotę", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Pseudonim sprzedającego", "501523417": "Nie masz żadnych zleceń.", "517202770": "Set fixed rate", @@ -48,6 +50,7 @@ "612069973": "Would you recommend this buyer?", "628581263": "The {{local_currency}} market rate has changed.", "649549724": "Nie otrzymano żadnej płatności.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Dostępne", "671582270": "Maksymalna dostępna kwota to {{value}}", "683273691": "Opłata (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Nie pokazuj tej wiadomości ponownie.", "873437248": "Instrukcje (opcjonalnie)", "876086855": "Wypełnij formularz oceny finansowej", - "881141084": "Jeśli anulujesz to zlecenie, korzystanie z Deriv P2P zostanie zablokowane na {{block_duration}} godzin(y).", "881351325": "Would you recommend this seller?", "887667868": "Zlecenie", "949859957": "Prześlij", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} min", "1065551550": "Set floating rate", "1080990424": "Potwierdź", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.", "1103731601": "Twoje reklamy są wstrzymane", "1106073960": "Utworzono ogłoszenie", @@ -108,14 +111,17 @@ "1370999551": "Floating rate", "1371193412": "Anuluj", "1381949324": "<0>Adres zweryfikowany", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Brak wyników dla \"{{text}}\".", "1430413419": "Maksimum to {{currency}} {{value}}", "1438103743": "Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.", "1448855725": "Dodaj metody płatności", + "1452260922": "Too many failed attempts", "1467483693": "Przeszłe zlecenia", "1474532322": "Sortuj według", "1480915523": "Skip", "1505293001": "Partnerzy handlowi", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Jeśli ogłoszenie nie otrzyma zlecenia przez {{adverts_archive_period}} dni, zostanie dezaktywowane.", "1587250288": "ID reklamy {{advert_id}} ", "1607051458": "Wyszukaj po pseudonimie", @@ -148,6 +154,7 @@ "1928240840": "Sprzedaj {{ currency }}", "1976156928": "Wyślesz", "1992961867": "Opłata (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtr", "2029375371": "Payment instructions", "2032274854": "Recommended by {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "Resetuj", "-1638172550": "Aby włączyć tę funkcję, musisz wykonać następujące czynności:", "-559300364": "Twoja sekcja Kasjer Deriv P2P jest zablokowana", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Your rate is", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Twoje ogłoszenie przekracza dzienny limit", "-744406": "Twoje ogłoszenie nie jest widoczne w sekcji <0>Kup/Sprzedaj, gdyż kwota przekracza Twój dzienny limi wynoszący: {{limit}} {{currency}}.\n <1 /><1 />Wciąż możesz zobaczyć ogłoszenie w sekcji <0>Moje ogłoszenia. Jeśli chcesz zwiększyć swój dzienny limit, skontaktuj się z nami za pośrednictwem <2>czatu na żywo.", - "-329713179": "Ok", "-984140537": "Dodaj", "-1072444041": "Aktualizuj ogłoszenie", "-1406830100": "Metoda płatności", @@ -283,6 +296,7 @@ "-532709160": "Twój pseudonim", "-2008992756": "Chcesz anulować to zlecenie?", "-1666369246": "Jeśli anulujesz swoje zlecenie {{cancellation_limit}} razy w ciągu {{cancellation_period}} godzin, korzystanie z Deriv P2P zostanie zablokowane na {{block_duration}} godzin(y). (Pozostało anulowań: {{number_of_cancels_remaining}}).", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Jeśli dokonano już płatności, nie należy korzystać z opcji anulowania.", "-1989544601": "Anuluj to zlecenie", "-492996224": "Nie anuluj", diff --git a/packages/p2p/src/translations/pt.json b/packages/p2p/src/translations/pt.json index 85f1bfb6ba58..fde1ec0b70b7 100644 --- a/packages/p2p/src/translations/pt.json +++ b/packages/p2p/src/translations/pt.json @@ -32,6 +32,8 @@ "460477293": "Digite a mensagem", "464044457": "Apelido do Comprador", "473688701": "Digite um valor válido", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Apelido do Vendedor", "501523417": "Você não tem anúncios.", "517202770": "Defina uma taxa fixa", @@ -48,6 +50,7 @@ "612069973": "Você recomendaria esse comprador?", "628581263": "A taxa de mercado {{local_currency}} mudou.", "649549724": "Eu não recebi nenhum pagamento.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Disponível", "671582270": "O valor máximo disponível é {{value}}", "683273691": "Taxa (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Não mostre esta mensagem novamente.", "873437248": "Instruções (opcional)", "876086855": "Preencha o formulário de Avaliação Financeira", - "881141084": "Se você cancelar este pedido, será bloqueado de usar o Deriv P2P por {{block_duration}} horas.", "881351325": "Você recomendaria este vendedor?", "887667868": "Ordem", "949859957": "Enviar", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} min", "1065551550": "Defina uma taxa flutuante", "1080990424": "Confirmar", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Não arrisque seus fundos com transações em dinheiro. Use transferências bancárias ou e-wallets ao invés disso.", "1103731601": "Seus anúncios estão pausados", "1106073960": "Você criou um anúncio", @@ -108,14 +111,17 @@ "1370999551": "Taxa flutuante", "1371193412": "Cancelar", "1381949324": "<0>Endereço verificado", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Nenhum resultado para \"{{text}}\".", "1430413419": "O máximo é {{value}} {{currency}}", "1438103743": "As taxas flutuantes estão habilitadas para {{local_currency}}. Os anúncios com taxas fixas serão desativados. Mude para taxas flutuantes até {{end_date}}.", "1448855725": "Adicionar métodos de pagamento", + "1452260922": "Too many failed attempts", "1467483693": "Pedidos anteriores", "1474532322": "Ordenar por", "1480915523": "Pular", "1505293001": "Parceiros de negociação", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Se o anúncio não receber um pedido por {{adverts_archive_period}} dias, ele será desativado.", "1587250288": "ID do anúncio {{advert_id}} ", "1607051458": "Pesquise por apelido", @@ -148,6 +154,7 @@ "1928240840": "Vender {{ currency }}", "1976156928": "Você vai enviar", "1992961867": "Taxa (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtros", "2029375371": "Instruções de pagamento", "2032274854": "Recomendado por {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "Resetar", "-1638172550": "Para habilitar este recurso, você deve completar o seguinte:", "-559300364": "Seu caixa do Deriv P2P está bloqueado", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Sua tarifa é", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Seu anúncio excede o limite diário", "-744406": "Seu anúncio não está listado em <0>Compra/Venda porque a quantidade excede seu limite diário de {{limit}} {{currency}}.\n <1 /><1 />Você ainda pode ver seu anúncio em <0>Meus anúncios. Se você gostaria de aumentar seu limite diário, por favor, entre em contato conosco através <2>live chat.", - "-329713179": "Ok", "-984140537": "Adicionar", "-1072444041": "Atualize seu anúncio", "-1406830100": "Método de pagamento", @@ -283,6 +296,7 @@ "-532709160": "Seu apelido", "-2008992756": "Quer cancelar este pedido?", "-1666369246": "Se você cancelar seu pedido {{cancellation_limit}} vezes em {{cancellation_period}} horas, você será bloqueado de usar o Deriv P2P durante {{block_duration}} horas.
({{number_of_cancels_remaining}} cancelamentos restantes.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Por favor, não cancele se você já tiver feito o pagamento.", "-1989544601": "Cancelar este pedido", "-492996224": "Não cancele", diff --git a/packages/p2p/src/translations/ru.json b/packages/p2p/src/translations/ru.json index cb8327c52acd..0d13703b9455 100644 --- a/packages/p2p/src/translations/ru.json +++ b/packages/p2p/src/translations/ru.json @@ -32,6 +32,8 @@ "460477293": "Введите сообщение", "464044457": "Псевдоним покупателя", "473688701": "Введите действительную сумму", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Псевдоним продавца", "501523417": "У вас нет ордеров.", "517202770": "Установить курс", @@ -48,6 +50,7 @@ "612069973": "Как вам этот покупатель?", "628581263": "Рыночный курс {{local_currency}} изменился.", "649549724": "Я не получил(а) платеж.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Доступно", "671582270": "Макс. доступная сумма: {{value}}", "683273691": "Курс (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Больше не показывать это сообщение.", "873437248": "Инструкции (необязательно)", "876086855": "Заполните форму финансовой оценки", - "881141084": "Если вы отмените этот ордер, ваш доступ на Deriv P2P будет заблокирован на {{block_duration}} ч.", "881351325": "Как вам этот продавец?", "887667868": "Ордер", "949859957": "Отправить", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} мин", "1065551550": "Установить курс", "1080990424": "Подтвердить", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Не рискуйте своими средствами в наличных операциях. Используйте банковские переводы или электронные кошельки.", "1103731601": "Ваши объявления приостановлены", "1106073960": "Вы создали объявление", @@ -108,14 +111,17 @@ "1370999551": "Плавающий курс", "1371193412": "Отменить", "1381949324": "<0>Адрес подтвержден", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Нет результатов с \"{{text}}\".", "1430413419": "Максимум: {{value}} {{currency}}", "1438103743": "На {{local_currency}} включены плавающие курсы. Объявления с фиксированными курсами будут деактивированы. Перейдите на плавающие курсы до {{end_date}}.", "1448855725": "Добавить платежные методы", + "1452260922": "Too many failed attempts", "1467483693": "Прошлые ордеры", "1474532322": "Сортировать по", "1480915523": "Пропустить", "1505293001": "Партнеры", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Если ваше объявление не получит ордер в течение {{adverts_archive_period}} дн., оно будет деактивировано.", "1587250288": "ID объявления {{advert_id}} ", "1607051458": "Поиск по псевдониму", @@ -148,6 +154,7 @@ "1928240840": "Продать {{ currency }}", "1976156928": "Вы отправите", "1992961867": "Курс (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Фильтры", "2029375371": "Платежные инструкции", "2032274854": "{{recommended_count}} трейдеров рекомендуют", @@ -229,10 +236,16 @@ "-1856204727": "Сбросить", "-1638172550": "Чтобы активировать эту функцию, сделайте следующее:", "-559300364": "Ваша касса Deriv P2P заблокирована", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Ваш тариф", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Ваше объявление превышает дневной лимит", "-744406": "Вашего объявления нет в списке <0>Покупка/продажа, так как сумма превышает дневной лимит {{limit}} {{currency}}.\n <1 /><1 />Вы можете найти объявление в разделе <0>Мои объявления. Свяжитесь с нами через <2>чат, если хотите увеличить дневной лимит.", - "-329713179": "Ok", "-984140537": "Добавить", "-1072444041": "Обновить", "-1406830100": "Способ оплаты", @@ -283,6 +296,7 @@ "-532709160": "Ваш псевдоним", "-2008992756": "Хотите отменить этот ордер?", "-1666369246": "Если вы отмените ордер {{cancellation_limit}} раз за {{cancellation_period}} ч., ваш доступ на Deriv P2P будет заблокирован на {{block_duration}} ч.
\n(осталось отмен: {{number_of_cancels_remaining}}.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Не отменяйте, если вы уже произвели оплату.", "-1989544601": "Отменить ордер", "-492996224": "Не отменять", diff --git a/packages/p2p/src/translations/th.json b/packages/p2p/src/translations/th.json index 391ffefd1ee2..073833bb6f5a 100644 --- a/packages/p2p/src/translations/th.json +++ b/packages/p2p/src/translations/th.json @@ -32,6 +32,8 @@ "460477293": "ป้อนข้อความ", "464044457": "ชื่อเล่นของผู้ซื้อ", "473688701": "โปรดใส่จำนวณที่ถูกต้อง", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "ชื่อเล่นของผู้ขาย", "501523417": "คุณไม่มีรายการคำสั่งซื้อ", "517202770": "กำหนดอัตราคงที่", @@ -48,6 +50,7 @@ "612069973": "Would you recommend this buyer?", "628581263": "อัตราตลาด {{local_currency}} มีการเปลี่ยนแปลง", "649549724": "ฉันยังไม่ได้รับการชำระเงินใดๆ", + "661808069": "Resend email {{remaining_time}}", "662578726": "มีอยู่", "671582270": "จำนวนสูงสุดที่ใช้ได้คือ {{value}}", "683273691": "อัตรา (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "อย่าแสดงข้อความนี้อีก", "873437248": "รายละเอียดคำแนะนำ (เพิ่มเติม)", "876086855": "โปรดกรอกแบบฟอร์มการประเมินทางการเงินให้สมบรูณ์", - "881141084": "ถ้าคุณยกเลิกใบสั่งนี้ คุณจะถูกบล็อกไม่ใช้ Deriv P2P เป็นเวลา {{block_duration}} ชั่วโมง", "881351325": "Would you recommend this seller?", "887667868": "คำสั่งซื้อ", "949859957": "ส่ง", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} นาที", "1065551550": "กำหนดอัตราลอยตัว", "1080990424": "ยืนยัน", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "อย่าเสี่ยงเงินของคุณด้วยการทำธุรกรรมเงินสด ใช้การโอนเงินผ่านธนาคารหรือ e-wallets แทน", "1103731601": "โฆษณาของคุณ ถูกระงับชั่วคราว", "1106073960": "คุณได้สร้างโฆษณา", @@ -108,14 +111,17 @@ "1370999551": "อัตราดอกเบี้ยลอยตัว", "1371193412": "ยกเลิก", "1381949324": "<0>ที่อยู่ ยืนยันแล้ว", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "ไม่พบผลลัพธ์สำหรับ \"{{text}}\".", "1430413419": "จำนวณสูงสุด คือ {{value}} {{currency}}", "1438103743": "เปิดใช้อัตราแบบลอยตัวสำหรับ {{local_currency}} โฆษณาที่มีอัตราคงที่จะถูกปิดใช้งาน เปลี่ยนเป็นอัตราลอยตัวภายในวันที่ {{end_date}}", "1448855725": "เพิ่มวิธีการชำระเงิน", + "1452260922": "Too many failed attempts", "1467483693": "ใบสั่งที่ผ่านมา", "1474532322": "เรียงลําดับตาม", "1480915523": "Skip", "1505293001": "พันธมิตรธุรกรรม", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "ถ้าโฆษณาไม่ได้รับคําสั่งซื้อสําหรับ {{adverts_archive_period}} วัน โฆษณานั้นจะถูกปิดใช้งาน", "1587250288": "รหัสโฆษณา {{advert_id}} ", "1607051458": "ค้นหาตามชื่อเล่น", @@ -148,6 +154,7 @@ "1928240840": "ขาย {{ currency }}", "1976156928": "คุณจะส่ง", "1992961867": "อัตรา (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "กรอง", "2029375371": "คำแนะนำการชำระเงิน", "2032274854": "Recommended by {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "ตั้งค่าใหม่", "-1638172550": "ในการเปิดใช้งานคุณสมบัตินี้คุณต้องดำเนินการดังต่อไปนี้:", "-559300364": "แคชเชียร์ Deriv P2P ของคุณถูกบล็อก", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "ตกลง", "-740038242": "อัตราของคุณคือ", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "โฆษณาของคุณเกินขีดจำกัดรายวัน", "-744406": "โฆษณาของคุณไม่อยู่ในรายการ <0>ซื้อ/ขาย เนื่องจากจำนวนเงินเกินขีดจำกัดรายวันของคุณที่ {{limit}} {{currency}}\n <1 /><1 />คุณยังคงสามารถเห็นโฆษณาของคุณบน <0>โฆษณาของฉัน หากคุณต้องการเพิ่มขีดจำกัดรายวัน โปรดติดต่อเราทาง<2>แชทสด", - "-329713179": "ตกลง", "-984140537": "เพิ่ม", "-1072444041": "อัปเดตโฆษณา", "-1406830100": "วิธีการชำระเงิน", @@ -283,6 +296,7 @@ "-532709160": "ชื่อเล่นของคุณ", "-2008992756": "คุณต้องการยกเลิกคำสั่งซื้อนี้หรือไม่?", "-1666369246": "ถ้าคุณยกเลิกใบสั่งของคุณ {{cancellation_limit}} ครั้งใน {{cancellation_period}} ชั่วโมง คุณจะถูกบล็อกไม่ใช้ Deriv P2P เป็นเวลา {{block_duration}} ชั่วโมง
({{number_of_cancels_remaining}} ที่เหลืออยู่)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "โปรดอย่ายกเลิกหากคุณชําระเงินแล้ว", "-1989544601": "ยกเลิกคำสั่งซื้อนี้", "-492996224": "อย่าทำการยกเลิก\n", diff --git a/packages/p2p/src/translations/tr.json b/packages/p2p/src/translations/tr.json index 7984e6597988..765f52473a4e 100644 --- a/packages/p2p/src/translations/tr.json +++ b/packages/p2p/src/translations/tr.json @@ -32,6 +32,8 @@ "460477293": "Mesaj girin", "464044457": "Alıcının takma adı", "473688701": "Geçerli bir tutar girin", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Satıcının takma adı", "501523417": "Hiç emriniz yok.", "517202770": "Sabit oran ayarla", @@ -48,6 +50,7 @@ "612069973": "Would you recommend this buyer?", "628581263": "{{local_currency}} piyasa oranı değişti.", "649549724": "Hiçbir ödeme almadım.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Kullanılabilir", "671582270": "Maksimum kullanılabilir tutar: {{value}}", "683273691": "Oran (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Bu mesajı bir daha gösterme.", "873437248": "Talimatlar (isteğe bağlı)", "876086855": "Finansal değerlendirme formunu doldurun", - "881141084": "Bu emri iptal ederseniz, Deriv P2P'yi {{block_duration}} saat boyunca kullanmanız engellenecektir.", "881351325": "Would you recommend this seller?", "887667868": "Emir", "949859957": "Gönder", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} dk", "1065551550": "Dalgalı kuru ayarlayın", "1080990424": "Onayla", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Nakit işlemler ile paranızı riske atmayın. Bunun yerine banka havalesi veya e-cüzdan kullanın.", "1103731601": "İlanlarınız duraklatıldı", "1106073960": "Bir ilan oluşturdunuz", @@ -108,14 +111,17 @@ "1370999551": "Floating rate", "1371193412": "İptal et", "1381949324": "<0>Address doğrulandı", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "\"{{text}}\" için sonuç yok.", "1430413419": "Maksimum değer: {{value}} {{currency}}", "1438103743": "{{local_currency}} için dalgalı kur etkinleştirildi. Sabit oranlı ilanlar devre dışı bırakılacak. {{end_date}} tarihi itibariyle dalgalı kura geçiş yap.", "1448855725": "Ödeme yöntemi ekle", + "1452260922": "Too many failed attempts", "1467483693": "Geçmiş emirler", "1474532322": "İle Sırala", "1480915523": "Skip", "1505293001": "Ticaret ortakları", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Eğer ilan {{adverts_archive_period}} gün boyunca bir emir almazsa devre dışı bırakılır.", "1587250288": "İlan Kimliği {{advert_id}} ", "1607051458": "Takma ada göre ara", @@ -148,6 +154,7 @@ "1928240840": "Sat {{ currency }}", "1976156928": "Göndereceksiniz", "1992961867": "Oran (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Filtre", "2029375371": "Ödeme talimatları", "2032274854": "Recommended by {{recommended_count}} traders", @@ -229,10 +236,16 @@ "-1856204727": "Sıfırla", "-1638172550": "Bu özelliği etkinleştirmek için aşağıdakileri tamamlamanız gerekir:", "-559300364": "Deriv P2P kasiyeriniz engellendi", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Tamam", "-740038242": "Your rate is", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Reklamınız günlük sınırı aşıyor", "-744406": "Tutarın {{limit}} {{currency}} günlük limitini aşması nedeniyle reklamınız <0>Satın Al/Sat listesinde yer almıyor.\n\n<1 /><1 />Yine de ilanlarınızı <0>İlanlarım kısmında görebilirsiniz. Günlük limitinizi artırmak isterseniz, lütfen <2>canlı sohbet aracılığıyla bizimle iletişim kurun.", - "-329713179": "Tamam", "-984140537": "Ekle", "-1072444041": "İlanı güncelle", "-1406830100": "Ödeme yöntemi", @@ -283,6 +296,7 @@ "-532709160": "Takma adınız", "-2008992756": "Bu emri iptal etmek istiyor musunuz?", "-1666369246": "{{cancellation_period}} saat içinde {{cancellation_limit}} kez emrinizi iptal ederseniz, {{block_duration}} saat boyunca Deriv P2P'yi kullanmanız engellenecektir.
({{number_of_cancels_remaining}} iptal kaldı.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Ödemeyi zaten yapmışsanız lütfen iptal etmeyin.", "-1989544601": "Bu emri iptal et", "-492996224": "İptal etme", diff --git a/packages/p2p/src/translations/vi.json b/packages/p2p/src/translations/vi.json index 70b0037e53ec..500f7c10fe50 100644 --- a/packages/p2p/src/translations/vi.json +++ b/packages/p2p/src/translations/vi.json @@ -32,6 +32,8 @@ "460477293": "Nhập tin nhắn", "464044457": "Nickname của người mua", "473688701": "Nhập một khoản hợp lệ", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "Nickname của người bán", "501523417": "Bạn không có đơn hàng nào.", "517202770": "Đặt tỉ giá cố định", @@ -48,6 +50,7 @@ "612069973": "Bạn có giới thiệu người mua này không?", "628581263": "Tỷ giá thị trường {{local_currency}} đã thay đổi.", "649549724": "Tôi chưa nhận được thanh toán.", + "661808069": "Resend email {{remaining_time}}", "662578726": "Khả dụng", "671582270": "Số tối đa là {{value}}", "683273691": "Tỷ lệ (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "Không hiển thị lại tin nhắn này.", "873437248": "Chỉ dẫn (không bắt buộc)", "876086855": "Hoàn thành biểu mẫu đánh giá tài chính", - "881141084": "Nếu bạn hủy lệnh này, bạn sẽ bị chặn sử dụng Deriv P2P trong {{block_duration}} giờ.", "881351325": "Bạn có giới thiệu người bán này không?", "887667868": "Lệnh", "949859957": "Gửi", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} phút", "1065551550": "Đặt tỉ giá thả nổi", "1080990424": "Xác nhận", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "Đừng mạo hiểm tiền của bạn với các giao dịch tiền mặt. Sử dụng chuyển khoản ngân hàng hoặc ví điện tử để thay thế.", "1103731601": "Quảng cáo của bạn đã dừng lại", "1106073960": "Bạn đã tạo một quảng cáo", @@ -108,14 +111,17 @@ "1370999551": "Tỉ giá thả nổi", "1371193412": "Huỷ", "1381949324": "Đã xác minh <0>địa chỉ", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "Không có kết quả cho \"{{text}}\".", "1430413419": "Tối đa là {{value}} {{currency}}", "1438103743": "Tỷ giá thả nổi được kích hoạt cho {{local_currency}}. Các quảng cáo có tỷ giá cố định sẽ bị vô hiệu hóa. Chuyển sang tỷ giá thả nổi vào ngày {{end_date}}.", "1448855725": "Thêm các phương thức thanh toán", + "1452260922": "Too many failed attempts", "1467483693": "Đơn hàng cũ", "1474532322": "Phân loại bằng", "1480915523": "Bỏ qua", "1505293001": "Đối tác giao dịch", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "Nếu quảng cáokhông nhận được đơn đặt hàng trong {{adverts_archive_period}} ngày, nó sẽ bị vô hiệu hóa.", "1587250288": "ID Quảng cáo {{advert_id}} ", "1607051458": "Tìm bằng nickname", @@ -148,6 +154,7 @@ "1928240840": "Bán {{ currency }}", "1976156928": "Bạn sẽ chuyển", "1992961867": "Tỷ lệ (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "Bộ lọc", "2029375371": "Các chỉ dẫn thanh toán", "2032274854": "Được giới thiệu bởi {{recommended_count}} thương nhân", @@ -229,10 +236,16 @@ "-1856204727": "Thiết lập lại", "-1638172550": "Để kích hoạt tính năng này, bạn phải hoàn thành các bước sau:", "-559300364": "Cổng thu ngân Deriv P2P của bạn bị khóa", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "Ok", "-740038242": "Tỉ giá của bạn là", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "Quảng cáo của bạn vượt quá giới hạn hàng ngày", "-744406": "Quảng cáo của bạn không được liệt kê trên <0>Mua/Bán bởi vì số tiền vượt quá giới hạn hàng ngày của bạn là {{limit}} {{currency}}.\n <1/><1 />Bạn vẫn có thể thấy quảng cáo của mình trên <0>Quảng cáo của tôi. Nếu bạn muốn tăng giới hạn hàng ngày của mình, vui lòng liên hệ với chúng tôi qua <2>trò chuyện trực tuyến.", - "-329713179": "Ok", "-984140537": "Thêm", "-1072444041": "Cập nhật quảng cáo", "-1406830100": "Phương thức thanh toán", @@ -283,6 +296,7 @@ "-532709160": "Biệt danh của bạn", "-2008992756": "Bạn có muốn hủy đơn hàng này?", "-1666369246": "Nếu bạn hủy lệnh của mình {{cancellation_limit}} lần trong {{cancellation_period}} giờ, bạn sẽ bị chặn sử dụng Deriv P2P trong {{block_duration}} giờ.
(còn {{number_of_cancels_remaining}} lần hủy.)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "Vui lòng không hủy nếu bạn đã thanh toán.", "-1989544601": "Hủy đơn hàng này", "-492996224": "Không được hủy", diff --git a/packages/p2p/src/translations/zh_cn.json b/packages/p2p/src/translations/zh_cn.json index 267b88925cb0..88323396cd18 100644 --- a/packages/p2p/src/translations/zh_cn.json +++ b/packages/p2p/src/translations/zh_cn.json @@ -32,6 +32,8 @@ "460477293": "输入消息", "464044457": "买者的昵称", "473688701": "输入有效金额", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "卖者的昵称", "501523417": "无订单。", "517202770": "设置固定汇率", @@ -48,6 +50,7 @@ "612069973": "是否推荐此买家?", "628581263": "{{local_currency}} 市场汇率已更改。", "649549724": "我还未收到任何款项。", + "661808069": "Resend email {{remaining_time}}", "662578726": "可用", "671582270": "最大允许金额为 {{value}}", "683273691": "费率 (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "别再显示此消息。", "873437248": "说明(可选)", "876086855": "完成财务评估表", - "881141084": "如您取消此订单,{{block_duration}} 小时内您将被禁使用 Deriv P2P 。", "881351325": "是否推荐此卖家?", "887667868": "订单", "949859957": "提交", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} 分钟", "1065551550": "设置浮动汇率", "1080990424": "确认", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "不要用现金转账,因有资金风险。请改用银行转账或电子钱包。", "1103731601": "您的广告已暂停", "1106073960": "您已创建广告", @@ -108,14 +111,17 @@ "1370999551": "浮动汇率", "1371193412": "取消", "1381949324": "<0>地址已验证", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "{{text}} 没有结果。", "1430413419": "最大为{{value}}{{currency}}", "1438103743": "{{local_currency}} 已启用浮动汇率。固定汇率的广告将被停用。请于 {{end_date}} 之前切换到浮动汇率。", "1448855725": "添加付款方式", + "1452260922": "Too many failed attempts", "1467483693": "过去的订单", "1474532322": "排序方式", "1480915523": "跳过", "1505293001": "交易伙伴", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "如广告连续 {{adverts_archive_period}} 天没收到订单将被停用。", "1587250288": "广告 ID {{advert_id}} ", "1607051458": "按昵称搜索", @@ -148,6 +154,7 @@ "1928240840": "卖出 {{ currency }}", "1976156928": "您将发送", "1992961867": "费率 (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "筛选器", "2029375371": "付款说明", "2032274854": "{{recommended_count}} 个交易者推荐", @@ -229,10 +236,16 @@ "-1856204727": "重置", "-1638172550": "要启用此功能,您必须完成以下操作:", "-559300364": "您的 Deriv P2P 收银台已锁定", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "确定", "-740038242": "汇率是", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "广告超出了每日限额", "-744406": "您的广告未在<0>买入/卖出列出,因为金额已超出了每日限额{{limit}} {{currency}}。\n <1 /><1 />您仍然可在<0>我的广告看到您的广告。如要增加每日限额,请通过<2>实时聊天与我们联系。", - "-329713179": "确定", "-984140537": "添加", "-1072444041": "更新广告", "-1406830100": "付款方式", @@ -283,6 +296,7 @@ "-532709160": "您的昵称", "-2008992756": "要取消此订单?", "-1666369246": "如您在{{cancellation_period}} 小时内取消订单{{cancellation_limit}} 次,{{block_duration}} 小时内您将被禁使用 Deriv P2P 。
(剩余取消次数为{{number_of_cancels_remaining}} 次。)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "如您已付款,请别取消。", "-1989544601": "取消订单", "-492996224": "不要取消", diff --git a/packages/p2p/src/translations/zh_tw.json b/packages/p2p/src/translations/zh_tw.json index aa308af42770..99d557b428c9 100644 --- a/packages/p2p/src/translations/zh_tw.json +++ b/packages/p2p/src/translations/zh_tw.json @@ -32,6 +32,8 @@ "460477293": "輸入消息", "464044457": "買者的昵稱", "473688701": "輸入有效的金額", + "476023405": "Didn't receive the email?", + "488150742": "Resend email", "498500965": "賣者的昵稱", "501523417": "無訂單.", "517202770": "設定固定匯率", @@ -48,6 +50,7 @@ "612069973": "是否推薦此買家?", "628581263": "{{local_currency}} 市場匯率已更改。", "649549724": "我還未收到任何款項。", + "661808069": "Resend email {{remaining_time}}", "662578726": "可用", "671582270": "最大允許金額為 {{value}}", "683273691": "費率 (1 {{ account_currency }})", @@ -61,7 +64,6 @@ "842911528": "別再顯示此消息。", "873437248": "說明(可選)", "876086855": "完成財務評估表", - "881141084": "如您取消此訂單,{{block_duration}} 小時内您將被禁使用 Deriv P2P 。", "881351325": "是否推薦此賣家?", "887667868": "訂單", "949859957": "提交", @@ -77,6 +79,7 @@ "1057127276": "{{- avg_release_time_in_minutes}} 分鐘", "1065551550": "設定浮動匯率", "1080990424": "確認", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", "1091533736": "不要用現金轉帳,因有資金風險。請改用銀行轉帳或電子錢包。", "1103731601": "您的廣告已暫停", "1106073960": "您已建立廣告", @@ -108,14 +111,17 @@ "1370999551": "浮動匯率", "1371193412": "取消", "1381949324": "<0>地址已驗證", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", "1422356389": "{{text}} 沒有結果。", "1430413419": "最大為{{value}}{{currency}}", "1438103743": "{{local_currency}} 已啟用浮動匯率。固定匯率的廣告將被停用。請於 {{end_date}} 之前切換到浮動匯率。", "1448855725": "新增支付方式", + "1452260922": "Too many failed attempts", "1467483693": "過去的訂單", "1474532322": "排序方式", "1480915523": "略過", "1505293001": "交易夥伴", + "1529843851": "The verification link expires in 10 minutes", "1583335572": "如廣告連續 {{adverts_archive_period}} 天沒接到訂單將被停用。", "1587250288": "廣告 ID {{advert_id}} ", "1607051458": "按暱稱搜尋", @@ -148,6 +154,7 @@ "1928240840": "賣出 {{ currency }}", "1976156928": "您將傳送", "1992961867": "費率 (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "2020104747": "篩選器", "2029375371": "付款說明", "2032274854": "{{recommended_count}} 個交易者推薦", @@ -229,10 +236,16 @@ "-1856204727": "重設", "-1638172550": "要啟用此功能,您必須完成以下操作:", "-559300364": "您的 Deriv P2P 收銀台已鎖定", + "-2124584325": "We've verified your order", + "-878014035": "Please ensure you've received {{amount}} {{currency}} in your account and hit Confirm to complete the transaction.", + "-1968971120": "We've sent you an email at {{email_address}}.<0 />Please click the verification link in the email to verify your order.", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-329713179": "確定", "-740038242": "匯率是", + "-1728351486": "Invalid verification link", + "-1088454544": "Get new link", "-674715853": "廣告超出了每日限額", "-744406": "您的廣告未在<0>買入/賣出清單内,因爲金額已超出了每日限額{{limit}} {{currency}}。\n <1 /><1 />您仍然可在<0>我的廣告看到您的廣告。如要增加每日限額,請透過<2>即時聊天與我們聯繫。", - "-329713179": "確定", "-984140537": "新增", "-1072444041": "更新廣告", "-1406830100": "付款方式", @@ -283,6 +296,7 @@ "-532709160": "您的暱稱", "-2008992756": "要取消此訂單?", "-1666369246": "如您在{{cancellation_period}} 小時内取消訂單{{cancellation_limit}} 次,{{block_duration}} 小時内您將被禁使用 Deriv P2P 。
(剩餘取消次數為{{number_of_cancels_remaining}} 次。)", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", "-2026176944": "如您已付款,請別取消。", "-1989544601": "取消訂單", "-492996224": "不要取消", From 2f27d5423470b7b212c62141e6066227216d4ef9 Mon Sep 17 00:00:00 2001 From: hirad-rewok <91878582+hirad-rewok@users.noreply.github.com> Date: Wed, 14 Sep 2022 10:51:22 +0430 Subject: [PATCH 04/27] Added scroll to cfd personal details modal (#6235) --- packages/cfd/src/sass/cfd-dashboard.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cfd/src/sass/cfd-dashboard.scss b/packages/cfd/src/sass/cfd-dashboard.scss index 377b084a5a96..e2d68681e4a2 100644 --- a/packages/cfd/src/sass/cfd-dashboard.scss +++ b/packages/cfd/src/sass/cfd-dashboard.scss @@ -1507,6 +1507,7 @@ .cfd-personal-details-modal { grid-template-rows: 8rem minmax(10rem, 1fr); + overflow-y: scroll; &__heading-container { padding-top: 2.4rem; From d19609e9d32bbc1be17ca8aa55e92070bed4c955 Mon Sep 17 00:00:00 2001 From: Shayan Khaleghparast <100833613+iman-fs@users.noreply.github.com> Date: Wed, 14 Sep 2022 10:56:52 +0430 Subject: [PATCH 05/27] Shayan/74387/Update TS Config and Fix TS Errors on Cashier (#6284) * checking circle/ci test * removed test changes * fix: updated ts config and fixed two errors returnd by tsc * fix: fixing errors returned by tsc (WIP) * fix: fixed all ts errors * chore: removed experimentalDecorators from tsconfig * fix: removed unnecessary path from tsconfig * fix: type added to transfer_to_hint --- packages/cashier/globals.d.ts | 2 -- .../cashier-locked/cashier-locked.tsx | 2 +- .../account-transfer-form.tsx | 2 +- packages/cashier/tsconfig.json | 23 +++++++++---------- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/packages/cashier/globals.d.ts b/packages/cashier/globals.d.ts index 25890045177a..40ebc5a15767 100644 --- a/packages/cashier/globals.d.ts +++ b/packages/cashier/globals.d.ts @@ -1,4 +1,2 @@ declare module '@deriv/components'; -declare module '@deriv/p2p'; -declare module '@deriv/translations'; declare module '@deriv/shared'; diff --git a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx index b0470a0b650f..806231bb3603 100644 --- a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx +++ b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx @@ -54,7 +54,7 @@ const CashierLocked = ({ let icon = 'IcCashierLocked'; let title = localize('Cashier is locked'); - let message = localize( + let message: string | JSX.Element = localize( 'Your cashier is currently locked. Please contact us via live chat to find out how to unlock it.' ); diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.tsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.tsx index 1caaefbaa2e7..d3f102f926d4 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.tsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.tsx @@ -170,7 +170,7 @@ const AccountTransferForm = ({ }: TAccountTransferFormProps) => { const [from_accounts, setFromAccounts] = React.useState({}); const [to_accounts, setToAccounts] = React.useState({}); - const [transfer_to_hint, setTransferToHint] = React.useState(); + const [transfer_to_hint, setTransferToHint] = React.useState(); const { daily_transfers } = account_limits; const mt5_remaining_transfers = daily_transfers?.mt5; diff --git a/packages/cashier/tsconfig.json b/packages/cashier/tsconfig.json index 210d04896479..9975901c2274 100644 --- a/packages/cashier/tsconfig.json +++ b/packages/cashier/tsconfig.json @@ -2,19 +2,18 @@ "extends": "../../tsconfig.json", "compilerOptions": { "paths": { - "Components/*": ["components/*"], - "Config/*": ["config/*"], - "Constants/*":["constants/*"], - "Containers/*": ["containers/*"], - "Images/*": ["public/images/*"], - "Pages/*": ["pages/*"], - "Stores/*": ["stores/*"], - "Types": ["types"], - "Utils/*": ["utils/*"], + "Components/*": ["src/components/*"], + "Config/*": ["src/config/*"], + "Constants/*": ["src/constants/*"], + "Containers/*": ["src/containers/*"], + "Pages/*": ["src/pages/*"], + "Stores/*": ["src/stores/*"], + "Types": ["src/types"], + "Utils/*": ["src/utils/*"], + "@deriv/*": ["../*/src"] }, "outDir": "./dist", - "rootDir": "./src", - "baseUrl": "src", + "baseUrl": "./" }, - "include": ["./src", "./src/**/*.ts", "./src/**/*.tsx", "globals.d.ts"] + "include": ["src", "globals.d.ts"] } From 795865b1252f1b56f3f489aab9ecc4f7e804943c Mon Sep 17 00:00:00 2001 From: hirad-rewok <91878582+hirad-rewok@users.noreply.github.com> Date: Wed, 14 Sep 2022 11:02:21 +0430 Subject: [PATCH 06/27] Fixed the font size for non authenticated svg accounts (#6077) --- packages/cfd/src/Containers/jurisdiction-modal-content.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cfd/src/Containers/jurisdiction-modal-content.tsx b/packages/cfd/src/Containers/jurisdiction-modal-content.tsx index 7211611ddf8f..f32a05739fef 100644 --- a/packages/cfd/src/Containers/jurisdiction-modal-content.tsx +++ b/packages/cfd/src/Containers/jurisdiction-modal-content.tsx @@ -173,7 +173,7 @@ const JurisdictionCard = ({ if (!is_fully_authenticated) return (
- +
From b36410394b06a56ccf893c582b3f1659fe48e824 Mon Sep 17 00:00:00 2001 From: Farzin Mirzaie <72082844+farzin-fs@users.noreply.github.com> Date: Wed, 14 Sep 2022 11:04:27 +0430 Subject: [PATCH 07/27] Farzin/70813/Fix date picker month issue for non english languages (#6027) * fix(components): :bug: fix date picker month issue for non english languages by setting moment locale to `en` * refactor(components): :recycle: refactor `calendar-months` component to rely on month number instead of month name * fix(components): :globe_with_meridians: add localization support for date picker month names * refactor(components): :fire: remove redundant `month_headers` * chore(components): :heavy_minus_sign: remove redundant `@deriv/translations` dependency * Trigger Build * fix(cashier): :memo: resolve PR comments --- .../components/calendar/calendar-header.jsx | 4 ++-- .../components/calendar/helpers/constants.js | 16 --------------- .../src/components/calendar/helpers/index.js | 2 +- .../calendar/views/calendar-months.jsx | 20 ++++++++++--------- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/packages/components/src/components/calendar/calendar-header.jsx b/packages/components/src/components/calendar/calendar-header.jsx index b11c28561cdd..359a138e1498 100644 --- a/packages/components/src/components/calendar/calendar-header.jsx +++ b/packages/components/src/components/calendar/calendar-header.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { addMonths, addYears, subMonths, subYears, toMoment } from '@deriv/shared'; import Button from './calendar-button.jsx'; -import { month_headers, getCentury, getDecade } from './helpers'; +import { getCentury, getDecade } from './helpers'; const Header = ({ calendar_date, @@ -77,7 +77,7 @@ const Header = ({