Skip to content

Commit

Permalink
[Wallet] Lubega / WALL-2174 / Withdrawal fiat main screen and redirec…
Browse files Browse the repository at this point in the history
…tion (#11081)

* feat: fiat withdrawal module

* fix: applied comments

* fix: resolved failed test
  • Loading branch information
lubega-deriv committed Nov 3, 2023
1 parent 530b8f8 commit 2994ffb
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 3 deletions.
4 changes: 3 additions & 1 deletion packages/core/src/App/Containers/Redirect/redirect.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ const Redirect = ({
let redirected_to_route = false;
const action_param = url_params.get('action');
const code_param = url_params.get('code') || verification_code[action_param];
sessionStorage.verification_code = code_param;
const ext_platform_url = url_params.get('ext_platform_url');
const is_next_wallet = localStorage.getObject('FeatureFlagsStore')?.data.next_wallet;
const { is_appstore } = React.useContext(PlatformContext);

const redirectToExternalPlatform = url => {
Expand Down Expand Up @@ -122,7 +124,7 @@ const Redirect = ({
break;
}
case 'payment_withdraw': {
history.push(routes.cashier_withdrawal);
is_next_wallet ? history.push(routes.wallets_withdrawal) : history.push(routes.cashier_withdrawal);
redirected_to_route = true;
break;
}
Expand Down
1 change: 1 addition & 0 deletions packages/shared/src/utils/routes/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,5 @@ export const routes = {

// Wallets
wallets: '/wallets',
wallets_withdrawal: '/wallets/cashier/withdraw',
};
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import React from 'react';
import { WithdrawalVerificationModule } from '../../modules';
import { WithdrawalFiatModule } from '../../modules';

const WalletWithdrawal = () => {
return <WithdrawalVerificationModule />;
//TODO: add withdrawal crypto module
return <WithdrawalFiatModule />;
};

export default WalletWithdrawal;
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.wallets-withdrawal-fiat {
&__iframe {
width: 50%;
max-width: 58.8rem;
border: none;

@include mobile {
width: 100%;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React, { useEffect } from 'react';
import { useCashierFiatAddress } from '@deriv/api';
import { Loader } from '../../../../components';
import { WithdrawalVerificationModule } from '../WithdrawalVerification';
import './WithdrawalFiat.scss';

const WithdrawalFiat = () => {
const verificationCode = sessionStorage.getItem('verification_code');
const { data: iframeUrl, isLoading, mutate } = useCashierFiatAddress();

useEffect(() => {
if (iframeUrl) sessionStorage.removeItem('verification_code');
}, [iframeUrl, isLoading]);

useEffect(() => {
if (verificationCode)
mutate('withdraw', {
verification_code: verificationCode,
});
}, [mutate]);

if (verificationCode || iframeUrl) {
return (
<React.Fragment>
{isLoading && <Loader />}
{iframeUrl && (
<iframe
className='wallets-withdrawal-fiat__iframe'
key={iframeUrl}
src={iframeUrl}
style={{ display: isLoading ? 'none' : 'block' }}
/>
)}
</React.Fragment>
);
}
return <WithdrawalVerificationModule />;
};

export default WithdrawalFiat;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as WithdrawalFiatModule } from './WithdrawalFiat';
1 change: 1 addition & 0 deletions packages/wallets/src/features/cashier/modules/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ export * from './DepositFiat';
export * from './ResetBalance';
export * from './Transactions';
export * from './Transfer';
export * from './WithdrawalFiat';
export * from './WithdrawalVerification';

0 comments on commit 2994ffb

Please sign in to comment.