Implement WETH step logic for continue
This commit is contained in:
@@ -3,7 +3,7 @@ import * as React from 'react';
|
||||
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { OnboardingFlow, Step } from 'ts/components/onboarding/onboarding_flow';
|
||||
import { ProviderType, TokenByAddress } from 'ts/types';
|
||||
import { ProviderType, TokenByAddress, TokenStateByAddress } from 'ts/types';
|
||||
import { utils } from 'ts/utils/utils';
|
||||
|
||||
export interface PortalOnboardingFlowProps {
|
||||
@@ -16,6 +16,7 @@ export interface PortalOnboardingFlowProps {
|
||||
blockchainIsLoaded: boolean;
|
||||
userEtherBalanceInWei?: BigNumber;
|
||||
tokenByAddress: TokenByAddress;
|
||||
trackedTokenStateByAddress: TokenStateByAddress;
|
||||
updateIsRunning: (isRunning: boolean) => void;
|
||||
updateOnboardingStep: (stepIndex: number) => void;
|
||||
}
|
||||
@@ -89,8 +90,12 @@ export class PortalOnboardingFlow extends React.Component<PortalOnboardingFlowPr
|
||||
}
|
||||
|
||||
private _userHasWeth(): boolean {
|
||||
// TODO: https://app.asana.com/0/681385331277907/690722374136933
|
||||
return false;
|
||||
const ethToken = utils.getEthToken(this.props.tokenByAddress);
|
||||
if (!ethToken) {
|
||||
return false;
|
||||
}
|
||||
const wethTokenState = this.props.trackedTokenStateByAddress[ethToken.address];
|
||||
return wethTokenState.balance > new BigNumber(0);
|
||||
}
|
||||
|
||||
private _overrideOnboardingStateIfShould(): void {
|
||||
|
@@ -233,7 +233,7 @@ export class Portal extends React.Component<PortalProps, PortalState> {
|
||||
: TokenVisibility.TRACKED;
|
||||
return (
|
||||
<div style={styles.root}>
|
||||
<PortalOnboardingFlow />
|
||||
<PortalOnboardingFlow trackedTokenStateByAddress={this.state.trackedTokenStateByAddress} />
|
||||
<DocumentTitle title="0x Portal DApp" />
|
||||
<TopBar
|
||||
userAddress={this.props.userAddress}
|
||||
|
@@ -2,12 +2,14 @@ import { BigNumber } from '@0xproject/utils';
|
||||
import * as React from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { Dispatch } from 'redux';
|
||||
import { ActionTypes, ProviderType, TokenByAddress } from 'ts/types';
|
||||
import { ActionTypes, ProviderType, TokenByAddress, TokenStateByAddress } from 'ts/types';
|
||||
|
||||
import { PortalOnboardingFlow as PortalOnboardingFlowComponent } from 'ts/components/onboarding/portal_onboarding_flow';
|
||||
import { State } from 'ts/redux/reducer';
|
||||
|
||||
interface PortalOnboardingFlowProps {}
|
||||
interface PortalOnboardingFlowProps {
|
||||
trackedTokenStateByAddress: TokenStateByAddress;
|
||||
}
|
||||
|
||||
interface ConnectedState {
|
||||
stepIndex: number;
|
||||
@@ -26,7 +28,7 @@ interface ConnectedDispatch {
|
||||
updateOnboardingStep: (stepIndex: number) => void;
|
||||
}
|
||||
|
||||
const mapStateToProps = (state: State): ConnectedState => ({
|
||||
const mapStateToProps = (state: State, ownProps: PortalOnboardingFlowProps): ConnectedState => ({
|
||||
stepIndex: state.portalOnboardingStep,
|
||||
isRunning: state.isPortalOnboardingShowing,
|
||||
userAddress: state.userAddress,
|
||||
|
Reference in New Issue
Block a user