parent
dae07b32e5
commit
3b408715c7
@ -1,33 +0,0 @@ |
|||||||
const Component = require('react').Component |
|
||||||
const h = require('react-hyperscript') |
|
||||||
const inherits = require('util').inherits |
|
||||||
// Main Views
|
|
||||||
const TxView = require('./components/tx-view') |
|
||||||
const WalletView = require('./components/wallet-view') |
|
||||||
|
|
||||||
module.exports = AccountAndTransactionDetails |
|
||||||
|
|
||||||
inherits(AccountAndTransactionDetails, Component) |
|
||||||
function AccountAndTransactionDetails () { |
|
||||||
Component.call(this) |
|
||||||
} |
|
||||||
|
|
||||||
AccountAndTransactionDetails.prototype.render = function () { |
|
||||||
return h('div.account-and-transaction-details', [ |
|
||||||
// wallet
|
|
||||||
h(WalletView, { |
|
||||||
style: { |
|
||||||
}, |
|
||||||
responsiveDisplayClassname: '.lap-visible', |
|
||||||
}, [ |
|
||||||
]), |
|
||||||
|
|
||||||
// transaction
|
|
||||||
h(TxView, { |
|
||||||
style: { |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
]), |
|
||||||
]) |
|
||||||
} |
|
||||||
|
|
@ -1,267 +0,0 @@ |
|||||||
const Component = require('react').Component |
|
||||||
const PropTypes = require('prop-types') |
|
||||||
const h = require('react-hyperscript') |
|
||||||
const inherits = require('util').inherits |
|
||||||
const connect = require('react-redux').connect |
|
||||||
const actions = require('../actions') |
|
||||||
const CoinbaseForm = require('./coinbase-form') |
|
||||||
const ShapeshiftForm = require('./shapeshift-form') |
|
||||||
const Loading = require('./loading-screen') |
|
||||||
const AccountPanel = require('./account-panel') |
|
||||||
const RadioList = require('./custom-radio-list') |
|
||||||
const { getNetworkDisplayName } = require('../../../app/scripts/controllers/network/util') |
|
||||||
|
|
||||||
BuyButtonSubview.contextTypes = { |
|
||||||
t: PropTypes.func, |
|
||||||
} |
|
||||||
|
|
||||||
module.exports = connect(mapStateToProps)(BuyButtonSubview) |
|
||||||
|
|
||||||
|
|
||||||
function mapStateToProps (state) { |
|
||||||
return { |
|
||||||
identity: state.appState.identity, |
|
||||||
account: state.metamask.accounts[state.appState.buyView.buyAddress], |
|
||||||
warning: state.appState.warning, |
|
||||||
buyView: state.appState.buyView, |
|
||||||
network: state.metamask.network, |
|
||||||
provider: state.metamask.provider, |
|
||||||
context: state.appState.currentView.context, |
|
||||||
isSubLoading: state.appState.isSubLoading, |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
inherits(BuyButtonSubview, Component) |
|
||||||
function BuyButtonSubview () { |
|
||||||
Component.call(this) |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.render = function () { |
|
||||||
return ( |
|
||||||
h('div', { |
|
||||||
style: { |
|
||||||
width: '100%', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
this.headerSubview(), |
|
||||||
this.primarySubview(), |
|
||||||
]) |
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.headerSubview = function () { |
|
||||||
const props = this.props |
|
||||||
const isLoading = props.isSubLoading |
|
||||||
return ( |
|
||||||
|
|
||||||
h('.flex-column', { |
|
||||||
style: { |
|
||||||
alignItems: 'center', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
|
|
||||||
// header bar (back button, label)
|
|
||||||
h('.flex-row', { |
|
||||||
style: { |
|
||||||
alignItems: 'center', |
|
||||||
justifyContent: 'center', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h('i.fa.fa-arrow-left.fa-lg.cursor-pointer.color-orange', { |
|
||||||
onClick: this.backButtonContext.bind(this), |
|
||||||
style: { |
|
||||||
position: 'absolute', |
|
||||||
left: '10px', |
|
||||||
}, |
|
||||||
}), |
|
||||||
h('h2.text-transform-uppercase.flex-center', { |
|
||||||
style: { |
|
||||||
width: '100vw', |
|
||||||
background: 'rgb(235, 235, 235)', |
|
||||||
color: 'rgb(174, 174, 174)', |
|
||||||
paddingTop: '4px', |
|
||||||
paddingBottom: '4px', |
|
||||||
}, |
|
||||||
}, this.context.t('depositEth')), |
|
||||||
]), |
|
||||||
|
|
||||||
// loading indication
|
|
||||||
h('div', { |
|
||||||
style: { |
|
||||||
position: 'absolute', |
|
||||||
top: '57vh', |
|
||||||
left: '49vw', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
isLoading && h(Loading), |
|
||||||
]), |
|
||||||
|
|
||||||
// account panel
|
|
||||||
h('div', { |
|
||||||
style: { |
|
||||||
width: '80%', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h(AccountPanel, { |
|
||||||
showFullAddress: true, |
|
||||||
identity: props.identity, |
|
||||||
account: props.account, |
|
||||||
}), |
|
||||||
]), |
|
||||||
|
|
||||||
h('.flex-row', { |
|
||||||
style: { |
|
||||||
alignItems: 'center', |
|
||||||
justifyContent: 'center', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h('h3.text-transform-uppercase.flex-center', { |
|
||||||
style: { |
|
||||||
paddingLeft: '15px', |
|
||||||
width: '100vw', |
|
||||||
background: 'rgb(235, 235, 235)', |
|
||||||
color: 'rgb(174, 174, 174)', |
|
||||||
paddingTop: '4px', |
|
||||||
paddingBottom: '4px', |
|
||||||
}, |
|
||||||
}, this.context.t('selectService')), |
|
||||||
]), |
|
||||||
|
|
||||||
]) |
|
||||||
|
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
BuyButtonSubview.prototype.primarySubview = function () { |
|
||||||
const props = this.props |
|
||||||
const network = props.network |
|
||||||
|
|
||||||
switch (network) { |
|
||||||
case 'loading': |
|
||||||
return |
|
||||||
|
|
||||||
case '1': |
|
||||||
return this.mainnetSubview() |
|
||||||
|
|
||||||
// Ropsten, Rinkeby, Kovan
|
|
||||||
case '3': |
|
||||||
case '4': |
|
||||||
case '42': |
|
||||||
const networkName = getNetworkDisplayName(network) |
|
||||||
const label = `${networkName} ${this.context.t('testFaucet')}` |
|
||||||
return ( |
|
||||||
h('div.flex-column', { |
|
||||||
style: { |
|
||||||
alignItems: 'center', |
|
||||||
margin: '20px 50px', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h('button.text-transform-uppercase', { |
|
||||||
onClick: () => this.props.dispatch(actions.buyEth({ network })), |
|
||||||
style: { |
|
||||||
marginTop: '15px', |
|
||||||
}, |
|
||||||
}, label), |
|
||||||
// Kovan only: Dharma loans beta
|
|
||||||
network === '42' ? ( |
|
||||||
h('button.text-transform-uppercase', { |
|
||||||
onClick: () => this.navigateTo('https://borrow.dharma.io/'), |
|
||||||
style: { |
|
||||||
marginTop: '15px', |
|
||||||
}, |
|
||||||
}, this.context.t('borrowDharma')) |
|
||||||
) : null, |
|
||||||
]) |
|
||||||
) |
|
||||||
|
|
||||||
default: |
|
||||||
return ( |
|
||||||
h('h2.error', this.context.t('unknownNetworkId')) |
|
||||||
) |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.mainnetSubview = function () { |
|
||||||
const props = this.props |
|
||||||
|
|
||||||
return ( |
|
||||||
|
|
||||||
h('.flex-column', { |
|
||||||
style: { |
|
||||||
alignItems: 'center', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
|
|
||||||
h('.flex-row.selected-exchange', { |
|
||||||
style: { |
|
||||||
position: 'relative', |
|
||||||
right: '35px', |
|
||||||
marginTop: '20px', |
|
||||||
marginBottom: '20px', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h(RadioList, { |
|
||||||
defaultFocus: props.buyView.subview, |
|
||||||
labels: [ |
|
||||||
'Coinbase', |
|
||||||
'ShapeShift', |
|
||||||
], |
|
||||||
subtext: { |
|
||||||
'Coinbase': `${this.context.t('crypto')}/${this.context.t('fiat')} (${this.context.t('usaOnly')})`, |
|
||||||
'ShapeShift': this.context.t('crypto'), |
|
||||||
}, |
|
||||||
onClick: this.radioHandler.bind(this), |
|
||||||
}), |
|
||||||
]), |
|
||||||
|
|
||||||
h('h3.text-transform-uppercase', { |
|
||||||
style: { |
|
||||||
paddingLeft: '15px', |
|
||||||
fontFamily: 'Montserrat Light', |
|
||||||
width: '100vw', |
|
||||||
background: 'rgb(235, 235, 235)', |
|
||||||
color: 'rgb(174, 174, 174)', |
|
||||||
paddingTop: '4px', |
|
||||||
paddingBottom: '4px', |
|
||||||
}, |
|
||||||
}, props.buyView.subview), |
|
||||||
|
|
||||||
this.formVersionSubview(), |
|
||||||
]) |
|
||||||
|
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.formVersionSubview = function () { |
|
||||||
const network = this.props.network |
|
||||||
if (network === '1') { |
|
||||||
if (this.props.buyView.formView.coinbase) { |
|
||||||
return h(CoinbaseForm, this.props) |
|
||||||
} else if (this.props.buyView.formView.shapeshift) { |
|
||||||
return h(ShapeshiftForm, this.props) |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.navigateTo = function (url) { |
|
||||||
global.platform.openWindow({ url }) |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.backButtonContext = function () { |
|
||||||
if (this.props.context === 'confTx') { |
|
||||||
this.props.dispatch(actions.showConfTxPage({transForward: false})) |
|
||||||
} else { |
|
||||||
this.props.dispatch(actions.goHome()) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
BuyButtonSubview.prototype.radioHandler = function (event) { |
|
||||||
switch (event.target.title) { |
|
||||||
case 'Coinbase': |
|
||||||
return this.props.dispatch(actions.coinBaseSubview()) |
|
||||||
case 'ShapeShift': |
|
||||||
return this.props.dispatch(actions.shapeShiftSubview(this.props.provider.type)) |
|
||||||
} |
|
||||||
} |
|
@ -1,239 +0,0 @@ |
|||||||
const { Component } = require('react') |
|
||||||
const { connect } = require('react-redux') |
|
||||||
const PropTypes = require('prop-types') |
|
||||||
const { Redirect, withRouter } = require('react-router-dom') |
|
||||||
const { compose } = require('recompose') |
|
||||||
const h = require('react-hyperscript') |
|
||||||
const actions = require('../../actions') |
|
||||||
const log = require('loglevel') |
|
||||||
|
|
||||||
// init
|
|
||||||
const NewKeyChainScreen = require('../../new-keychain') |
|
||||||
// mascara
|
|
||||||
const MascaraBuyEtherScreen = require('../../../../mascara/src/app/first-time/buy-ether-screen').default |
|
||||||
|
|
||||||
// accounts
|
|
||||||
const MainContainer = require('../../main-container') |
|
||||||
|
|
||||||
// other views
|
|
||||||
const BuyView = require('../../components/buy-button-subview') |
|
||||||
const QrView = require('../../components/qr-code') |
|
||||||
|
|
||||||
// Routes
|
|
||||||
const { |
|
||||||
INITIALIZE_BACKUP_PHRASE_ROUTE, |
|
||||||
RESTORE_VAULT_ROUTE, |
|
||||||
CONFIRM_TRANSACTION_ROUTE, |
|
||||||
NOTICE_ROUTE, |
|
||||||
} = require('../../routes') |
|
||||||
|
|
||||||
const { unconfirmedTransactionsCountSelector } = require('../../selectors/confirm-transaction') |
|
||||||
|
|
||||||
class Home extends Component { |
|
||||||
componentDidMount () { |
|
||||||
const { |
|
||||||
history, |
|
||||||
unconfirmedTransactionsCount = 0, |
|
||||||
} = this.props |
|
||||||
|
|
||||||
// unapprovedTxs and unapproved messages
|
|
||||||
if (unconfirmedTransactionsCount > 0) { |
|
||||||
history.push(CONFIRM_TRANSACTION_ROUTE) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
render () { |
|
||||||
log.debug('rendering primary') |
|
||||||
const { |
|
||||||
noActiveNotices, |
|
||||||
lostAccounts, |
|
||||||
forgottenPassword, |
|
||||||
currentView, |
|
||||||
activeAddress, |
|
||||||
seedWords, |
|
||||||
} = this.props |
|
||||||
|
|
||||||
// notices
|
|
||||||
if (!noActiveNotices || (lostAccounts && lostAccounts.length > 0)) { |
|
||||||
return h(Redirect, { |
|
||||||
to: { |
|
||||||
pathname: NOTICE_ROUTE, |
|
||||||
}, |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
// seed words
|
|
||||||
if (seedWords) { |
|
||||||
log.debug('rendering seed words') |
|
||||||
return h(Redirect, { |
|
||||||
to: { |
|
||||||
pathname: INITIALIZE_BACKUP_PHRASE_ROUTE, |
|
||||||
}, |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
if (forgottenPassword) { |
|
||||||
log.debug('rendering restore vault screen') |
|
||||||
return h(Redirect, { |
|
||||||
to: { |
|
||||||
pathname: RESTORE_VAULT_ROUTE, |
|
||||||
}, |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
// show current view
|
|
||||||
switch (currentView.name) { |
|
||||||
|
|
||||||
case 'accountDetail': |
|
||||||
log.debug('rendering main container') |
|
||||||
return h(MainContainer, {key: 'account-detail'}) |
|
||||||
|
|
||||||
case 'newKeychain': |
|
||||||
log.debug('rendering new keychain screen') |
|
||||||
return h(NewKeyChainScreen, {key: 'new-keychain'}) |
|
||||||
|
|
||||||
case 'buyEth': |
|
||||||
log.debug('rendering buy ether screen') |
|
||||||
return h(BuyView, {key: 'buyEthView'}) |
|
||||||
|
|
||||||
case 'onboardingBuyEth': |
|
||||||
log.debug('rendering onboarding buy ether screen') |
|
||||||
return h(MascaraBuyEtherScreen, {key: 'buyEthView'}) |
|
||||||
|
|
||||||
case 'qr': |
|
||||||
log.debug('rendering show qr screen') |
|
||||||
return h('div', { |
|
||||||
style: { |
|
||||||
position: 'absolute', |
|
||||||
height: '100%', |
|
||||||
top: '0px', |
|
||||||
left: '0px', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h('i.fa.fa-arrow-left.fa-lg.cursor-pointer.color-orange', { |
|
||||||
onClick: () => this.props.dispatch(actions.backToAccountDetail(activeAddress)), |
|
||||||
style: { |
|
||||||
marginLeft: '10px', |
|
||||||
marginTop: '50px', |
|
||||||
}, |
|
||||||
}), |
|
||||||
h('div', { |
|
||||||
style: { |
|
||||||
position: 'absolute', |
|
||||||
left: '44px', |
|
||||||
width: '285px', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h(QrView, {key: 'qr'}), |
|
||||||
]), |
|
||||||
]) |
|
||||||
|
|
||||||
default: |
|
||||||
log.debug('rendering default, account detail screen') |
|
||||||
return h(MainContainer, {key: 'account-detail'}) |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Home.propTypes = { |
|
||||||
currentCurrency: PropTypes.string, |
|
||||||
isLoading: PropTypes.bool, |
|
||||||
loadingMessage: PropTypes.string, |
|
||||||
network: PropTypes.string, |
|
||||||
provider: PropTypes.object, |
|
||||||
frequentRpcList: PropTypes.array, |
|
||||||
currentView: PropTypes.object, |
|
||||||
sidebarOpen: PropTypes.bool, |
|
||||||
isMascara: PropTypes.bool, |
|
||||||
isOnboarding: PropTypes.bool, |
|
||||||
isUnlocked: PropTypes.bool, |
|
||||||
networkDropdownOpen: PropTypes.bool, |
|
||||||
history: PropTypes.object, |
|
||||||
dispatch: PropTypes.func, |
|
||||||
selectedAddress: PropTypes.string, |
|
||||||
noActiveNotices: PropTypes.bool, |
|
||||||
lostAccounts: PropTypes.array, |
|
||||||
isInitialized: PropTypes.bool, |
|
||||||
forgottenPassword: PropTypes.bool, |
|
||||||
activeAddress: PropTypes.string, |
|
||||||
unapprovedTxs: PropTypes.object, |
|
||||||
seedWords: PropTypes.string, |
|
||||||
unapprovedMsgCount: PropTypes.number, |
|
||||||
unapprovedPersonalMsgCount: PropTypes.number, |
|
||||||
unapprovedTypedMessagesCount: PropTypes.number, |
|
||||||
welcomeScreenSeen: PropTypes.bool, |
|
||||||
isPopup: PropTypes.bool, |
|
||||||
isMouseUser: PropTypes.bool, |
|
||||||
t: PropTypes.func, |
|
||||||
unconfirmedTransactionsCount: PropTypes.number, |
|
||||||
} |
|
||||||
|
|
||||||
function mapStateToProps (state) { |
|
||||||
const { appState, metamask } = state |
|
||||||
const { |
|
||||||
networkDropdownOpen, |
|
||||||
sidebarOpen, |
|
||||||
isLoading, |
|
||||||
loadingMessage, |
|
||||||
} = appState |
|
||||||
|
|
||||||
const { |
|
||||||
accounts, |
|
||||||
address, |
|
||||||
isInitialized, |
|
||||||
noActiveNotices, |
|
||||||
seedWords, |
|
||||||
unapprovedTxs, |
|
||||||
nextUnreadNotice, |
|
||||||
lostAccounts, |
|
||||||
unapprovedMsgCount, |
|
||||||
unapprovedPersonalMsgCount, |
|
||||||
unapprovedTypedMessagesCount, |
|
||||||
} = metamask |
|
||||||
const selected = address || Object.keys(accounts)[0] |
|
||||||
|
|
||||||
return { |
|
||||||
// state from plugin
|
|
||||||
networkDropdownOpen, |
|
||||||
sidebarOpen, |
|
||||||
isLoading, |
|
||||||
loadingMessage, |
|
||||||
noActiveNotices, |
|
||||||
isInitialized, |
|
||||||
isUnlocked: state.metamask.isUnlocked, |
|
||||||
selectedAddress: state.metamask.selectedAddress, |
|
||||||
currentView: state.appState.currentView, |
|
||||||
activeAddress: state.appState.activeAddress, |
|
||||||
transForward: state.appState.transForward, |
|
||||||
isMascara: state.metamask.isMascara, |
|
||||||
isOnboarding: Boolean(!noActiveNotices || seedWords || !isInitialized), |
|
||||||
isPopup: state.metamask.isPopup, |
|
||||||
seedWords: state.metamask.seedWords, |
|
||||||
unapprovedTxs, |
|
||||||
unapprovedMsgs: state.metamask.unapprovedMsgs, |
|
||||||
unapprovedMsgCount, |
|
||||||
unapprovedPersonalMsgCount, |
|
||||||
unapprovedTypedMessagesCount, |
|
||||||
menuOpen: state.appState.menuOpen, |
|
||||||
network: state.metamask.network, |
|
||||||
provider: state.metamask.provider, |
|
||||||
forgottenPassword: state.appState.forgottenPassword, |
|
||||||
nextUnreadNotice, |
|
||||||
lostAccounts, |
|
||||||
frequentRpcList: state.metamask.frequentRpcList || [], |
|
||||||
currentCurrency: state.metamask.currentCurrency, |
|
||||||
isMouseUser: state.appState.isMouseUser, |
|
||||||
isRevealingSeedWords: state.metamask.isRevealingSeedWords, |
|
||||||
Qr: state.appState.Qr, |
|
||||||
welcomeScreenSeen: state.metamask.welcomeScreenSeen, |
|
||||||
|
|
||||||
// state needed to get account dropdown temporarily rendering from app bar
|
|
||||||
selected, |
|
||||||
unconfirmedTransactionsCount: unconfirmedTransactionsCountSelector(state), |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
module.exports = compose( |
|
||||||
withRouter, |
|
||||||
connect(mapStateToProps) |
|
||||||
)(Home) |
|
@ -0,0 +1,73 @@ |
|||||||
|
import React, { PureComponent } from 'react' |
||||||
|
import PropTypes from 'prop-types' |
||||||
|
import { Redirect } from 'react-router-dom' |
||||||
|
import WalletView from '../../wallet-view' |
||||||
|
import TxView from '../../tx-view' |
||||||
|
import { |
||||||
|
INITIALIZE_BACKUP_PHRASE_ROUTE, |
||||||
|
RESTORE_VAULT_ROUTE, |
||||||
|
CONFIRM_TRANSACTION_ROUTE, |
||||||
|
NOTICE_ROUTE, |
||||||
|
} from '../../../routes' |
||||||
|
|
||||||
|
export default class Home extends PureComponent { |
||||||
|
static propTypes = { |
||||||
|
history: PropTypes.object, |
||||||
|
unapprovedTxs: PropTypes.object, |
||||||
|
unapprovedMsgCount: PropTypes.number, |
||||||
|
unapprovedPersonalMsgCount: PropTypes.number, |
||||||
|
unapprovedTypedMessagesCount: PropTypes.number, |
||||||
|
noActiveNotices: PropTypes.bool, |
||||||
|
lostAccounts: PropTypes.array, |
||||||
|
forgottenPassword: PropTypes.bool, |
||||||
|
seedWords: PropTypes.string, |
||||||
|
} |
||||||
|
|
||||||
|
componentDidMount () { |
||||||
|
const { |
||||||
|
history, |
||||||
|
unapprovedTxs = {}, |
||||||
|
unapprovedMsgCount = 0, |
||||||
|
unapprovedPersonalMsgCount = 0, |
||||||
|
unapprovedTypedMessagesCount = 0, |
||||||
|
} = this.props |
||||||
|
|
||||||
|
// unapprovedTxs and unapproved messages
|
||||||
|
if (Object.keys(unapprovedTxs).length || |
||||||
|
unapprovedTypedMessagesCount + unapprovedMsgCount + unapprovedPersonalMsgCount > 0) { |
||||||
|
history.push(CONFIRM_TRANSACTION_ROUTE) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
render () { |
||||||
|
const { |
||||||
|
noActiveNotices, |
||||||
|
lostAccounts, |
||||||
|
forgottenPassword, |
||||||
|
seedWords, |
||||||
|
} = this.props |
||||||
|
|
||||||
|
// notices
|
||||||
|
if (!noActiveNotices || (lostAccounts && lostAccounts.length > 0)) { |
||||||
|
return <Redirect to={{ pathname: NOTICE_ROUTE }} /> |
||||||
|
} |
||||||
|
|
||||||
|
// seed words
|
||||||
|
if (seedWords) { |
||||||
|
return <Redirect to={{ pathname: INITIALIZE_BACKUP_PHRASE_ROUTE }}/> |
||||||
|
} |
||||||
|
|
||||||
|
if (forgottenPassword) { |
||||||
|
return <Redirect to={{ pathname: RESTORE_VAULT_ROUTE }} /> |
||||||
|
} |
||||||
|
|
||||||
|
return ( |
||||||
|
<div className="main-container"> |
||||||
|
<div className="account-and-transaction-details"> |
||||||
|
<WalletView responsiveDisplayClassname="lap-visible" /> |
||||||
|
<TxView /> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
import Home from './home.component' |
||||||
|
import { compose } from 'recompose' |
||||||
|
import { connect } from 'react-redux' |
||||||
|
import { withRouter } from 'react-router-dom' |
||||||
|
|
||||||
|
const mapStateToProps = state => { |
||||||
|
const { metamask, appState } = state |
||||||
|
const { |
||||||
|
unapprovedTxs = {}, |
||||||
|
unapprovedMsgCount = 0, |
||||||
|
unapprovedPersonalMsgCount = 0, |
||||||
|
unapprovedTypedMessagesCount = 0, |
||||||
|
noActiveNotices, |
||||||
|
lostAccounts, |
||||||
|
seedWords, |
||||||
|
} = metamask |
||||||
|
const { forgottenPassword } = appState |
||||||
|
|
||||||
|
return { |
||||||
|
unapprovedTxs, |
||||||
|
unapprovedMsgCount, |
||||||
|
unapprovedPersonalMsgCount, |
||||||
|
unapprovedTypedMessagesCount, |
||||||
|
noActiveNotices, |
||||||
|
lostAccounts, |
||||||
|
forgottenPassword, |
||||||
|
seedWords, |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default compose( |
||||||
|
withRouter, |
||||||
|
connect(mapStateToProps) |
||||||
|
)(Home) |
@ -0,0 +1 @@ |
|||||||
|
export { default } from './home.container' |
@ -1,49 +0,0 @@ |
|||||||
const Component = require('react').Component |
|
||||||
const h = require('react-hyperscript') |
|
||||||
const inherits = require('util').inherits |
|
||||||
const AccountAndTransactionDetails = require('./account-and-transaction-details') |
|
||||||
const Settings = require('./components/pages/settings') |
|
||||||
const log = require('loglevel') |
|
||||||
|
|
||||||
import UnlockScreen from './components/pages/unlock-page' |
|
||||||
|
|
||||||
module.exports = MainContainer |
|
||||||
|
|
||||||
inherits(MainContainer, Component) |
|
||||||
function MainContainer () { |
|
||||||
Component.call(this) |
|
||||||
} |
|
||||||
|
|
||||||
MainContainer.prototype.render = function () { |
|
||||||
// 3. summarize:
|
|
||||||
// switch statement goes inside MainContainer,
|
|
||||||
// or a method in renderPrimary
|
|
||||||
// - pass resulting h() to MainContainer
|
|
||||||
// - error checking in separate func
|
|
||||||
// - router in separate func
|
|
||||||
const contents = { |
|
||||||
component: AccountAndTransactionDetails, |
|
||||||
key: 'account-detail', |
|
||||||
style: {}, |
|
||||||
} |
|
||||||
|
|
||||||
if (this.props.isUnlocked === false) { |
|
||||||
switch (this.props.currentViewName) { |
|
||||||
case 'config': |
|
||||||
log.debug('rendering config screen from unlock screen.') |
|
||||||
return h(Settings, {key: 'config'}) |
|
||||||
default: |
|
||||||
log.debug('rendering locked screen') |
|
||||||
return h('.unlock-screen-container', {}, h(UnlockScreen, { key: 'locked' })) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
return h('div.main-container', { |
|
||||||
style: contents.style, |
|
||||||
}, [ |
|
||||||
h(contents.component, { |
|
||||||
key: contents.key, |
|
||||||
}, []), |
|
||||||
]) |
|
||||||
} |
|
||||||
|
|
@ -1,29 +0,0 @@ |
|||||||
const inherits = require('util').inherits |
|
||||||
const Component = require('react').Component |
|
||||||
const h = require('react-hyperscript') |
|
||||||
const connect = require('react-redux').connect |
|
||||||
|
|
||||||
module.exports = connect(mapStateToProps)(NewKeychain) |
|
||||||
|
|
||||||
function mapStateToProps (state) { |
|
||||||
return {} |
|
||||||
} |
|
||||||
|
|
||||||
inherits(NewKeychain, Component) |
|
||||||
function NewKeychain () { |
|
||||||
Component.call(this) |
|
||||||
} |
|
||||||
|
|
||||||
NewKeychain.prototype.render = function () { |
|
||||||
// const props = this.props
|
|
||||||
|
|
||||||
return ( |
|
||||||
h('div', { |
|
||||||
style: { |
|
||||||
background: 'blue', |
|
||||||
}, |
|
||||||
}, [ |
|
||||||
h('h1', `Here's a list!!!!`), |
|
||||||
]) |
|
||||||
) |
|
||||||
} |
|
Loading…
Reference in new issue