diff --git a/src/routes/Player/ControlBar/ControlBar.js b/src/routes/Player/ControlBar/ControlBar.js index ee968539b..b7d4c41bd 100644 --- a/src/routes/Player/ControlBar/ControlBar.js +++ b/src/routes/Player/ControlBar/ControlBar.js @@ -12,8 +12,8 @@ class ControlBar extends Component { super(props); this.state = { - time: -1, - volume: -1, + time: null, + volume: null, volumePopupOpen: false, sharePopupOpen: false }; @@ -37,46 +37,46 @@ class ControlBar extends Component { } resetTime = debounce(() => { - this.setState({ time: -1 }); + this.setState({ time: null }); }, 1500) resetVolume = debounce(() => { - this.setState({ volume: -1 }); + this.setState({ volume: null }); }, 100) - onTimeSliding = (time) => { + onTimeSliderSlide = (time) => { this.resetTime.cancel(); this.setState({ time }); } - onTimeSlidingCompleted = (time) => { + onTimeSliderComplete = (time) => { this.setState({ time }); this.props.setTime(time); this.resetTime(); } - onTimeSlidingAborted = () => { + onTimeSliderCancel = () => { this.resetTime.cancel(); - this.setState({ time: -1 }); + this.setState({ time: null }); } - onVolumeSliding = (volume) => { + onVolumeSliderSlide = (volume) => { this.resetVolume.cancel(); this.setState({ volume }); } - onVolumeSlidingCompleted = (volume) => { + onVolumeSliderComplete = (volume) => { this.setState({ volume }); this.props.setVolume(volume); this.resetVolume(); } - onVolumeSlidingAborted = () => { + onVolumeSliderCancel = () => { this.resetVolume.cancel(); - this.setState({ volume: -1 }); + this.setState({ volume: null }); } - onPlayPauseButtonClicked = () => { + onPlayPauseButtonClick = () => { this.props.paused ? this.props.play() : this.props.pause(); } @@ -108,17 +108,18 @@ class ControlBar extends Component { return null; } + const time = this.state.time !== null ? this.state.time : this.props.time; return ( ); } @@ -128,9 +129,10 @@ class ControlBar extends Component { return null; } + const icon = this.props.paused ? 'ic_play' : 'ic_pause'; return ( -
- +
+
); } @@ -140,13 +142,9 @@ class ControlBar extends Component { return null; } - const currentTime = this.state.time !== -1 ? - this.formatTime(this.state.time) - : - this.formatTime(this.props.time); - + const time = this.state.time !== null ? this.state.time : this.props.time; return ( -
{currentTime} / {this.formatTime(this.props.duration)}
+
{this.formatTime(time)} / {this.formatTime(this.props.duration)}
); } @@ -155,8 +153,8 @@ class ControlBar extends Component { return null; } - const volume = this.state.volume !== -1 ? this.state.volume : this.props.volume; - const volumeIcon = volume === 0 ? 'ic_volume0' : + const volume = this.state.volume !== null ? this.state.volume : this.props.volume; + const icon = volume === 0 ? 'ic_volume0' : volume < 50 ? 'ic_volume1' : volume < 100 ? 'ic_volume2' : 'ic_volume3'; @@ -165,7 +163,7 @@ class ControlBar extends Component {
- +
@@ -174,12 +172,12 @@ class ControlBar extends Component { containerClassName={styles['volume-slider']} thumbClassName={styles['volume-thumb']} value={volume} - maxValue={100} - minValue={0} + minimumValue={0} + maximumValue={100} orientation={'vertical'} - onSliding={this.onVolumeSliding} - onSlidingAborted={this.onVolumeSlidingAborted} - onSlidingCompleted={this.onVolumeSlidingCompleted} + onSlide={this.onVolumeSliderSlide} + onComplete={this.onVolumeSliderComplete} + onCancel={this.onVolumeSliderCancel} />
@@ -203,6 +201,10 @@ class ControlBar extends Component { } render() { + if (['paused', 'time', 'duration', 'volume'].every(propName => this.props[propName] === null)) { + return null; + } + return (
{this.renderTimeSlider()}