From 95faa374cd2046a86b46f27f3bf67fac7c839620 Mon Sep 17 00:00:00 2001 From: Andre Goncalves Date: Tue, 8 Jun 2021 11:16:51 +0100 Subject: [PATCH] feat: moonpay copy and flow changes --- src/common/moonpay/auth.js | 4 + .../dashboard/buy-key-popup-modal.jsx | 164 ++++++++++-------- .../moonpay/choose-login-email-modal.jsx | 6 +- .../moonpay/transaction-loading-modal.jsx | 7 +- 4 files changed, 104 insertions(+), 77 deletions(-) diff --git a/src/common/moonpay/auth.js b/src/common/moonpay/auth.js index b9cd4e39d..58328c867 100644 --- a/src/common/moonpay/auth.js +++ b/src/common/moonpay/auth.js @@ -562,10 +562,12 @@ const submitKycDocumentsOperation = ops => () => async (dispatch, getState) => { const connectFlowOperation = ops => ({ cancel, complete }) => async (dispatch, getState) => { const identity = selectIdentity(getState()); + // A selfkey identity is needed for Moonpay if (!identity) { return; } + // A completed selfkey identity is needed for Moonpay if (!identity.isSetupFinished) { await dispatch(push('/main/selfkeyId')); return; @@ -608,6 +610,7 @@ const connectFlowNextStepOperation = ops => opt => async (dispatch, getState) => await dispatch(ops.loadSettingsOperation()); } + /* const agreedToTerms = hasAgreedToTerms(getState()); if (!agreedToTerms) { await dispatch( @@ -618,6 +621,7 @@ const connectFlowNextStepOperation = ops => opt => async (dispatch, getState) => ); return; } + */ if (!config.moonPayWidgetMode) { const serviceCheck = selectServiceCheck(getState()); diff --git a/src/renderer/dashboard/buy-key-popup-modal.jsx b/src/renderer/dashboard/buy-key-popup-modal.jsx index 1c4012626..aeb7ac1aa 100644 --- a/src/renderer/dashboard/buy-key-popup-modal.jsx +++ b/src/renderer/dashboard/buy-key-popup-modal.jsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Grid, List, ListItem, Typography, Divider, Button } from '@material-ui/core'; +import { Grid, Typography, Divider, Button } from '@material-ui/core'; import { withStyles } from '@material-ui/styles'; -import { PaymentIcon, Copy, primary } from 'selfkey-ui'; +import { ExchangeSmallIcon, CardsIcon, Copy, primary } from 'selfkey-ui'; import { Popup } from '../common'; import { PropTypes } from 'prop-types'; @@ -56,6 +56,7 @@ const styles = theme => ({ } }); +/* const getExchanges = (exchanges, classes, onLinkClick) => { return exchanges.map(exchange => { return ( @@ -74,10 +75,53 @@ const getExchanges = (exchanges, classes, onLinkClick) => { ); }); }; +*/ export const BuyKeyModal = withStyles(styles)( ({ classes, address, onMoonpayClick, onLinkClick, exchanges, onCloseClick }) => ( + {onMoonpayClick && ( + + + + + + + + + Buy KEY with a Credit Card + + + + + + You can purchase KEY using a Credit Card by connecting your + wallet with MoonPay. + + + + + + + + + )} + + + - + - + + + + Buy KEY on an External Exchange + + + - - - Get KEY Tokens - - - {onMoonpayClick && ( - - - - You can purchase KEY tokens with Credit Card directly in the - wallet using the MoonPay service. + + You may purchase KEY on many Exchanges worldwide and then transfer them + to this wallet. KEY is availabe on{' '} + + these markets + + . + + {address && ( + + + After purchasing KEY on an external Exchange, transfer them to + your wallet address: + + + + {address} + - - - - - Alternatively: - - - )} - - - - You can buy KEY tokens, to use in the wallet, from one of the - many exchanges worldwide. + (what’s this?) + + . - - {getExchanges(exchanges, classes, onLinkClick)} - - {address && ( - - - Your Address to receive KEY: - - - - {address} - - - - - - KEY is the main token used in the SelfKey Wallet, and - it’s used when accessing services in the marketplace. - ETH is needed for the network transaction fee{' '} - - (what’s this?) - - . - - - )} - + )} diff --git a/src/renderer/moonpay/choose-login-email-modal.jsx b/src/renderer/moonpay/choose-login-email-modal.jsx index 47673edf2..6f39e4601 100644 --- a/src/renderer/moonpay/choose-login-email-modal.jsx +++ b/src/renderer/moonpay/choose-login-email-modal.jsx @@ -6,10 +6,12 @@ import ListAttributeChooser from '../attributes/choosers/list-attribute-chooser' export const MoonpayChooseLoginEmailModal = ({ onCancel, onNext, selected, ...chooserProps }) => { return ( - + - Please choose email or create a new one + + Choose which email address to use with MoonPay + diff --git a/src/renderer/moonpay/transaction-loading-modal.jsx b/src/renderer/moonpay/transaction-loading-modal.jsx index a090591e8..ca38e85ea 100644 --- a/src/renderer/moonpay/transaction-loading-modal.jsx +++ b/src/renderer/moonpay/transaction-loading-modal.jsx @@ -24,12 +24,11 @@ export const TransactionLoadingModal = ({ onCloseClick, title, onStatusClick, tr Transactions normally take between a few minutes and half an hour to - complete, but may take longer if we need to run additional checks. For - example, if it{"'"}s your first-ever purchase, or your first purchase with a - particular payment card. + complete. However, some situations may take longer, such as a first-time + purchase. - You will be notified by email when transaction completes, you can safely + You will be notified by email when transaction completes. You may now safely close this window.