@@ -58,15 +58,50 @@ class Passport extends React.Component {
58 return fmtDate
58 return fmtDate
61+ getWalletProgress() {
62+ let { walletStates } = this.props
64+ if ( !walletStates.includes(WALLET_STATES.UNLOCKING) ) return null
65+ if ( walletStates.includes(WALLET_STATES.TRANSACTIONS) ) return null
67+ let progressTimes = {
68+ [WALLET_STATES.UNLOCKING]: {ms: "2813", pct: "44%"},
69+ [WALLET_STATES.GENERATING]: {ms: "2433", pct: "38%"},
70+ [WALLET_STATES.RENDERING]: {ms: "986", pct: "15%"}
73+ const progressBars = Object.keys(progressTimes).map(state => {
74+ let progressIndex = walletStates.indexOf(state)
75+ let progressDone = progressIndex !== -1 && progressIndex < walletStates.length -1
77+ let progressStyle = {
78+ width: progressTimes[state].pct
82+ <div className="passport-wallet-progress" style={progressStyle}>
84+ <div className="passport-wallet-progress-fill"></div>
91+ <div className="flex space-between mt-3">
61 getWalletStates() {
97 getWalletStates() {
62 let { walletStates } = this.props
98 let { walletStates } = this.props
64− let hideWalletStates = walletStates.includes(WALLET_STATES.TRANSACTIONS)
100+ if ( walletStates.includes(WALLET_STATES.TRANSACTIONS) ) return null
65− if (hideWalletStates) return null
67 let stateElems = walletStates.map(state => {
102 let stateElems = walletStates.map(state => {
68 if (state === WALLET_STATES.DOWNLOADED) return null
103 if (state === WALLET_STATES.DOWNLOADED) return null
70 let lastIndex = walletStates.indexOf(state) === walletStates.length - 1
105 let lastIndex = walletStates.indexOf(state) === walletStates.length - 1
@@ -116,6 +151,7 @@ class Passport extends React.Component {
117 let currentDate = this.getCurrentDate()
152 let currentDate = this.getCurrentDate()
118 let walletStates = this.getWalletStates()
153 let walletStates = this.getWalletStates()
154+ let walletProgress = this.getWalletProgress()
119 let paperReady = this.state.paper && this.props.walletStates.includes(WALLET_STATES.PAPER_READY)
155 let paperReady = this.state.paper && this.props.walletStates.includes(WALLET_STATES.PAPER_READY)
120 let downloadColor = paperReady ? 'green' : 'black'
156 let downloadColor = paperReady ? 'green' : 'black'
@@ -173,6 +209,7 @@ class Passport extends React.Component {
173 </Button>
209 </Button>
176 {walletStates}
213 {walletStates}