diff options
Diffstat (limited to 'app/client/common/audioPlayer/audioPlayer.component.js')
| -rw-r--r-- | app/client/common/audioPlayer/audioPlayer.component.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app/client/common/audioPlayer/audioPlayer.component.js b/app/client/common/audioPlayer/audioPlayer.component.js new file mode 100644 index 0000000..481a685 --- /dev/null +++ b/app/client/common/audioPlayer/audioPlayer.component.js @@ -0,0 +1,42 @@ +import { h, Component } from 'preact' +import { connect } from 'react-redux' +import { bindActionCreators } from 'redux' +import * as audioPlayerActions from './audioPlayer.actions' + +class AudioPlayer extends Component { + constructor(props){ + super(props) + this.handleClick = this.handleClick.bind(this) + } + handleClick(e){ + const { audioPlayer, actions } = this.props + if (audioPlayer.playing) { + actions.pause() + } else { + actions.resume() + } + } + render() { + const { audioPlayer } = this.props + return ( + <div className='audioPlayer'> + <span>{this.props.title}</span> + <button + onClick={this.handleClick} + > + {audioPlayer.playing ? '>' : 'pause'} + </button> + </div> + ) + } +} + +const mapStateToProps = state => ({ + audioPlayer: state.audioPlayer, +}) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + actions: bindActionCreators(audioPlayerActions, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(AudioPlayer) |
