diff --git a/packages/api/src/constants/index.ts b/packages/api/src/constants/index.ts index b8eec4fcaadf..4fb2e4a827f4 100644 --- a/packages/api/src/constants/index.ts +++ b/packages/api/src/constants/index.ts @@ -1,3 +1,2 @@ export * from './countries'; export * from './onfido'; -export * from './payment-method-icons'; diff --git a/packages/api/src/constants/payment-method-icons.ts b/packages/api/src/constants/payment-method-icons.ts deleted file mode 100644 index 039ca45c975f..000000000000 --- a/packages/api/src/constants/payment-method-icons.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const PAYMENT_METHOD_ICONS = { - bank: 'IcCashierBankTransfer', - other: 'IcCashierOther', - ewallet: 'IcCashierEwallet', -}; diff --git a/packages/api/src/hooks/p2p/useAdvertInfo.ts b/packages/api/src/hooks/p2p/useAdvertInfo.ts new file mode 100644 index 000000000000..ba6747fc0390 --- /dev/null +++ b/packages/api/src/hooks/p2p/useAdvertInfo.ts @@ -0,0 +1,45 @@ +import { useMemo } from 'react'; +import useQuery from '../../useQuery'; + +/** + * This custom hook returns the advert information about the given advert ID. + */ +const useAdvertInfo = ( + payload: NonNullable>[1]>['payload'], + options?: NonNullable>[1]>['options'] +) => { + const { data, ...rest } = useQuery('p2p_advert_info', { + payload, + options, + }); + + const modified_data = useMemo(() => { + const p2p_advert_info = data?.p2p_advert_info; + + if (!p2p_advert_info) return undefined; + + return { + ...p2p_advert_info, + /** Determines whether the advert is a buy advert or not. */ + is_buy: p2p_advert_info.type === 'buy', + /** Determines whether the advert is a sell advert or not. */ + is_sell: p2p_advert_info.type === 'sell', + is_block_trade: Boolean(p2p_advert_info.block_trade), + is_deleted: Boolean(p2p_advert_info.deleted), + is_active: Boolean(p2p_advert_info.is_active), + is_visible: Boolean(p2p_advert_info.is_visible), + /** + * @deprecated This property was deprecated on back-end + * @see https://api.deriv.com/api-explorer#p2p_advert_info + * **/ + payment_method: p2p_advert_info.payment_method, + }; + }, [data?.p2p_advert_info]); + + return { + data: modified_data, + ...rest, + }; +}; + +export default useAdvertInfo; diff --git a/packages/api/src/hooks/p2p/usePaymentMethods.ts b/packages/api/src/hooks/p2p/usePaymentMethods.ts index 41bf71517f7f..a7ca84bcc756 100644 --- a/packages/api/src/hooks/p2p/usePaymentMethods.ts +++ b/packages/api/src/hooks/p2p/usePaymentMethods.ts @@ -1,6 +1,5 @@ import { useMemo } from 'react'; import useAuthorize from '../useAuthorize'; -import { PAYMENT_METHOD_ICONS } from '../../constants'; import useQuery from '../../useQuery'; /** A custom hook that returns a list of P2P available payment methods **/ @@ -21,8 +20,6 @@ const usePaymentMethods = () => { ...payment_method, /** Payment method field definitions. */ fields, - /** Icon for each payment method based on the type */ - icon: PAYMENT_METHOD_ICONS[payment_method.type], /** Payment method id */ id: key, }; diff --git a/packages/hooks/src/useP2PAdvertInfo.ts b/packages/hooks/src/useP2PAdvertInfo.ts index 19bceaffa7eb..5078e8cc7d49 100644 --- a/packages/hooks/src/useP2PAdvertInfo.ts +++ b/packages/hooks/src/useP2PAdvertInfo.ts @@ -3,6 +3,7 @@ import { useFetch } from '@deriv/api'; import { TSocketRequestQueryOptions } from '@deriv/api/types'; /** + * @deprecated Please use `useAdvertInfo` from the `api` package instead. * This custom hook returns the advert info for a specific advert by calling 'p2p_advert_info' endpoint */ const useP2PAdvertInfo = (id: string, options: TSocketRequestQueryOptions<'p2p_advert_info'>) => {