import React, { PropTypes } from 'react' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import { Link } from 'react-router' import FontAwesome from 'react-fontawesome' import ProgressSlider from './ProgressSlider' import VolumeControl from './VolumeControl' import ArtistSentence from './ArtistSentence' import Thumbnail from './Thumbnail' import * as mopidyActions from '../services/mopidy/actions' class MiniPlayer extends React.Component{ constructor(props) { super(props); } renderPlayButton(){ var button = this.props.mopidyActions.play()}> if( this.props.play_state == 'playing' ){ button = this.props.mopidyActions.pause()}> } return button; } render(){ return (
{ this.props.current_track ? this.props.current_track.name : - }
{ this.props.current_track ? : }
{ this.renderPlayButton() } this.props.mopidyActions.next()}>  
); } } /** * Export our component * * We also integrate our global store, using connect() **/ const mapStateToProps = (state, ownProps) => { return { current_track: (typeof(state.ui.current_track) !== 'undefined' && typeof(state.ui.tracks) !== 'undefined' && typeof(state.ui.tracks[state.ui.current_track.uri]) !== 'undefined' ? state.ui.tracks[state.ui.current_track.uri] : null), play_state: state.mopidy.play_state } } const mapDispatchToProps = (dispatch) => { return { mopidyActions: bindActionCreators(mopidyActions, dispatch) } } export default connect(mapStateToProps, mapDispatchToProps)(MiniPlayer)