import React, { PropTypes } from 'react' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import * as helpers from '../../helpers' import Icon from '../Icon' import AddToPlaylistModal from './AddToPlaylistModal' import AddToQueueModal from './AddToQueueModal' import CreatePlaylistModal from './CreatePlaylistModal' import EditPlaylistModal from './EditPlaylistModal' import EditRadioModal from './EditRadioModal' import ImageZoomModal from './ImageZoomModal' import KioskModeModal from './KioskModeModal' import SearchSettingsModal from './SearchSettingsModal' import VolumeModal from './VolumeModal' import AuthorizationModal_Send from './AuthorizationModal_Send' import AuthorizationModal_Receive from './AuthorizationModal_Receive' import * as uiActions from '../../services/ui/actions' import * as mopidyActions from '../../services/mopidy/actions' import * as spotifyActions from '../../services/spotify/actions' import * as pusherActions from '../../services/pusher/actions' class Modal extends React.Component{ constructor(props){ super(props) } componentWillReceiveProps( nextProps ){ if (nextProps.modal){ $('body').addClass('modal-open') } else { $('body').removeClass('modal-open') } } render(){ if( !this.props.modal ) return null; return (
this.props.uiActions.closeModal() }>
{ this.props.modal.name == 'add_to_playlist' ? : null } { this.props.modal.name == 'add_to_queue' ? : null } { this.props.modal.name == 'create_playlist' ? : null } { this.props.modal.name == 'edit_playlist' ? : null } { this.props.modal.name == 'send_authorization' ? : null } { this.props.modal.name == 'receive_authorization' ? : null } { this.props.modal.name == 'edit_radio' ? : null } { this.props.modal.name == 'image_zoom' ? : null } { this.props.modal.name == 'kiosk_mode' ? : null } { this.props.modal.name == 'search_settings' ? : null } { this.props.modal.name == 'volume' ? : null }
); } } const mapStateToProps = (state, ownProps) => { return { uri_schemes: (state.mopidy.uri_schemes ? state.mopidy.uri_schemes : null), search_settings: (state.ui.search_settings ? state.ui.search_settings : null), volume: state.mopidy.volume, mute: state.mopidy.mute, modal: state.ui.modal, radio: state.ui.radio, tracks: state.ui.tracks, artists: state.ui.artists, playlists: state.ui.playlists, context_menu: state.ui.context_menu, mopidy_connected: state.mopidy.connected, spotify_authorized: state.spotify.authorized } } const mapDispatchToProps = (dispatch) => { return { uiActions: bindActionCreators(uiActions, dispatch), pusherActions: bindActionCreators(pusherActions, dispatch), spotifyActions: bindActionCreators(spotifyActions, dispatch), mopidyActions: bindActionCreators(mopidyActions, dispatch) } } export default connect(mapStateToProps, mapDispatchToProps)(Modal)