Customize flow depending on what steps you've completed
This commit is contained in:
		@@ -2,17 +2,27 @@ import * as React from 'react';
 | 
				
			|||||||
import { Container } from 'ts/components/ui/container';
 | 
					import { Container } from 'ts/components/ui/container';
 | 
				
			||||||
import { Text } from 'ts/components/ui/text';
 | 
					import { Text } from 'ts/components/ui/text';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface AddEthOnboardingStepProps {}
 | 
					export interface AddEthOnboardingStepProps {
 | 
				
			||||||
 | 
					    hasEth: boolean;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const AddEthOnboardingStep: React.StatelessComponent<AddEthOnboardingStepProps> = () => (
 | 
					export const AddEthOnboardingStep: React.StatelessComponent<AddEthOnboardingStepProps> = props =>
 | 
				
			||||||
    <div className="flex items-center flex-column">
 | 
					    props.hasEth ? (
 | 
				
			||||||
        <Text> Before you begin you will need to send some ETH to your wallet.</Text>
 | 
					        <div className="flex items-center flex-column">
 | 
				
			||||||
        <Container marginTop="15px" marginBottom="15px">
 | 
					            <Text> Great! Looks like you already have ETH in your wallet.</Text>
 | 
				
			||||||
            <img src="/images/ether_alt.svg" height="50px" width="50px" />
 | 
					            <Container marginTop="15px" marginBottom="15px">
 | 
				
			||||||
        </Container>
 | 
					                <img src="/images/ether_alt.svg" height="50px" width="50px" />
 | 
				
			||||||
        <Text className="xs-hide">
 | 
					            </Container>
 | 
				
			||||||
            Click on the <img src="/images/metamask_icon.png" height="20px" width="20px" /> metamask extension in your
 | 
					        </div>
 | 
				
			||||||
            browser and click either <b>BUY</b> or <b>DEPOSIT</b>.
 | 
					    ) : (
 | 
				
			||||||
        </Text>
 | 
					        <div className="flex items-center flex-column">
 | 
				
			||||||
    </div>
 | 
					            <Text> Before you begin you will need to send some ETH to your wallet.</Text>
 | 
				
			||||||
);
 | 
					            <Container marginTop="15px" marginBottom="15px">
 | 
				
			||||||
 | 
					                <img src="/images/ether_alt.svg" height="50px" width="50px" />
 | 
				
			||||||
 | 
					            </Container>
 | 
				
			||||||
 | 
					            <Text className="xs-hide">
 | 
				
			||||||
 | 
					                Click on the <img src="/images/metamask_icon.png" height="20px" width="20px" /> metamask extension in
 | 
				
			||||||
 | 
					                your browser and click either <b>BUY</b> or <b>DEPOSIT</b>.
 | 
				
			||||||
 | 
					            </Text>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,10 +3,10 @@ import { Placement, Popper, PopperChildrenProps } from 'react-popper';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { OnboardingCard } from 'ts/components/onboarding/onboarding_card';
 | 
					import { OnboardingCard } from 'ts/components/onboarding/onboarding_card';
 | 
				
			||||||
import { ContinueButtonDisplay, OnboardingTooltip } from 'ts/components/onboarding/onboarding_tooltip';
 | 
					import { ContinueButtonDisplay, OnboardingTooltip } from 'ts/components/onboarding/onboarding_tooltip';
 | 
				
			||||||
import { zIndex } from 'ts/style/z_index';
 | 
					 | 
				
			||||||
import { Animation } from 'ts/components/ui/animation';
 | 
					import { Animation } from 'ts/components/ui/animation';
 | 
				
			||||||
import { Container } from 'ts/components/ui/container';
 | 
					import { Container } from 'ts/components/ui/container';
 | 
				
			||||||
import { Overlay } from 'ts/components/ui/overlay';
 | 
					import { Overlay } from 'ts/components/ui/overlay';
 | 
				
			||||||
 | 
					import { zIndex } from 'ts/style/z_index';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface Step {
 | 
					export interface Step {
 | 
				
			||||||
    target: string;
 | 
					    target: string;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -96,7 +96,15 @@ class PlainPortalOnboardingFlow extends React.Component<PortalOnboardingFlowProp
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                target: '.wallet',
 | 
					                target: '.wallet',
 | 
				
			||||||
                title: 'Add ETH',
 | 
					                title: 'Add ETH',
 | 
				
			||||||
                content: <AddEthOnboardingStep />,
 | 
					                content: (
 | 
				
			||||||
 | 
					                    <AddEthOnboardingStep
 | 
				
			||||||
 | 
					                        hasEth={
 | 
				
			||||||
 | 
					                            !_.isUndefined(this.props.userEtherBalanceInWei)
 | 
				
			||||||
 | 
					                                ? this.props.userEtherBalanceInWei.gt(0)
 | 
				
			||||||
 | 
					                                : false
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    />
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
                placement: 'right',
 | 
					                placement: 'right',
 | 
				
			||||||
                continueButtonDisplay: this._userHasVisibleEth() ? 'enabled' : 'disabled',
 | 
					                continueButtonDisplay: this._userHasVisibleEth() ? 'enabled' : 'disabled',
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@@ -119,7 +127,9 @@ class PlainPortalOnboardingFlow extends React.Component<PortalOnboardingFlowProp
 | 
				
			|||||||
                title: 'Step 1: Wrap ETH',
 | 
					                title: 'Step 1: Wrap ETH',
 | 
				
			||||||
                content: (
 | 
					                content: (
 | 
				
			||||||
                    <WrapEthOnboardingStep3
 | 
					                    <WrapEthOnboardingStep3
 | 
				
			||||||
                        formattedEthBalance={this._userHasVisibleWeth() ? this._getFormattedWethBalance() : '0 WETH'}
 | 
					                        formattedWethBalanceIfExists={
 | 
				
			||||||
 | 
					                            this._userHasVisibleWeth() ? this._getFormattedWethBalance() : undefined
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    />
 | 
					                    />
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                placement: 'right',
 | 
					                placement: 'right',
 | 
				
			||||||
@@ -127,7 +137,7 @@ class PlainPortalOnboardingFlow extends React.Component<PortalOnboardingFlowProp
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                target: '.wallet',
 | 
					                target: '.wallet',
 | 
				
			||||||
                title: 'Step 2/2',
 | 
					                title: 'Step 2: Unlock Tokens',
 | 
				
			||||||
                content: (
 | 
					                content: (
 | 
				
			||||||
                    <SetAllowancesOnboardingStep
 | 
					                    <SetAllowancesOnboardingStep
 | 
				
			||||||
                        zrxAllowanceToggle={this._renderZrxAllowanceToggle()}
 | 
					                        zrxAllowanceToggle={this._renderZrxAllowanceToggle()}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,14 +51,17 @@ export const WrapEthOnboardingStep2: React.StatelessComponent<WrapEthOnboardingS
 | 
				
			|||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface WrapEthOnboardingStep3Props {
 | 
					export interface WrapEthOnboardingStep3Props {
 | 
				
			||||||
    formattedEthBalance: string;
 | 
					    formattedWethBalanceIfExists?: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const WrapEthOnboardingStep3: React.StatelessComponent<WrapEthOnboardingStep3Props> = ({
 | 
					export const WrapEthOnboardingStep3: React.StatelessComponent<WrapEthOnboardingStep3Props> = ({
 | 
				
			||||||
    formattedEthBalance,
 | 
					    formattedWethBalanceIfExists,
 | 
				
			||||||
}) => (
 | 
					}) => (
 | 
				
			||||||
    <div className="flex items-center flex-column">
 | 
					    <div className="flex items-center flex-column">
 | 
				
			||||||
        <Text>You currently have {formattedEthBalance} in your wallet.</Text>
 | 
					        <Text>
 | 
				
			||||||
 | 
					            You have {formattedWethBalanceIfExists || '0 WETH'} in your wallet.
 | 
				
			||||||
 | 
					            {formattedWethBalanceIfExists && ' Great!'}
 | 
				
			||||||
 | 
					        </Text>
 | 
				
			||||||
        <Container width="100%" marginTop="25px" marginBottom="15px" className="flex justify-center">
 | 
					        <Container width="100%" marginTop="25px" marginBottom="15px" className="flex justify-center">
 | 
				
			||||||
            <div className="flex flex-column items-center">
 | 
					            <div className="flex flex-column items-center">
 | 
				
			||||||
                <Text fontWeight={700}> 1 ETH </Text>
 | 
					                <Text fontWeight={700}> 1 ETH </Text>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user