diff --git a/react/components/ProgressBar.jsx b/react/components/ProgressBar.jsx index 9084a221..33b49182 100644 --- a/react/components/ProgressBar.jsx +++ b/react/components/ProgressBar.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; function ActiveBar () { return | ; @@ -17,22 +18,24 @@ class ProgressBar extends React.Component { index : 0, incrementer: 1, }; + this.createBars = this.createBars.bind(this); this.startProgressBar = this.startProgressBar.bind(this); this.updateProgressBar = this.updateProgressBar.bind(this); this.stopProgressBar = this.stopProgressBar.bind(this); } componentDidMount () { - const bars = []; - for (let i = 0; i <= this.state.size; i++) { - bars.push(); - } - this.setState({ bars }); + this.createBars(); + this.startProgressBar(); } componentWillUnmount () { this.stopProgressBar(); } - componentDidMount () { - this.startProgressBar(); + createBars () { + const bars = []; + for (let i = 0; i <= this.props.size; i++) { + bars.push({isActive: false}); + } + this.setState({ bars }); } startProgressBar () { this.updateInterval = setInterval(this.updateProgressBar.bind(this), 300); @@ -42,15 +45,15 @@ class ProgressBar extends React.Component { let incrementer = this.state.incrementer; let bars = this.state.bars; // flip incrementer if necessary, to stay in bounds - if ((index < 0) || (index > this.state.size)) { + if ((index < 0) || (index > this.props.size)) { incrementer = incrementer * -1; index += incrementer; } - // update the indexed value + // update the indexed bar if (incrementer > 0) { - bars[index] = ; + bars[index].isActive = true; } else { - bars[index] = ; + bars[index].isActive = false; }; // increment index index += incrementer; @@ -67,10 +70,14 @@ class ProgressBar extends React.Component { render () { return (
- {this.state.bars} + {this.state.bars.map((bar, index) => bar.isActive ? : )}
); } }; +ProgressBar.propTypes = { + size: PropTypes.number.isRequired, +}; + export default ProgressBar; diff --git a/react/components/PublishStatus.jsx b/react/components/PublishStatus.jsx index c88b6c6b..49673c26 100644 --- a/react/components/PublishStatus.jsx +++ b/react/components/PublishStatus.jsx @@ -23,7 +23,7 @@ function PublishStatus ({ status, message }) { {(status === publishStates.PUBLISHING) &&

Upload complete. Your file is now being published on the blockchain...

- +

Curious what magic is happening here? Learn more.

}