Reorganising component folder structure

This commit is contained in:
James Barnsley
2018-04-19 13:34:16 +12:00
parent 71071da0c7
commit cd52734bcc
38 changed files with 2453 additions and 2723 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@ import { hashHistory, Link } from 'react-router'
import { connect } from 'react-redux'
import Sidebar from './components/Sidebar'
import PlaybackControls from './components/PlaybackControls'
import PlaybackControls from './components/Fields/PlaybackControls'
import ContextMenu from './components/ContextMenu'
import Dragger from './components/Dragger'
import Modal from './components/Modal/Modal'

View File

@ -4,11 +4,11 @@ import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import { Link, hashHistory } from 'react-router'
import ArtistSentence from './ArtistSentence'
import * as helpers from '../helpers'
import * as coreActions from '../services/core/actions'
import * as uiActions from '../services/ui/actions'
import * as spotifyActions from '../services/spotify/actions'
import ArtistSentence from './../ArtistSentence'
import * as helpers from '../../helpers'
import * as coreActions from '../../services/core/actions'
import * as uiActions from '../../services/ui/actions'
import * as spotifyActions from '../../services/spotify/actions'
class AddSeedField extends React.Component{

View File

@ -4,11 +4,11 @@ import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import { Link, hashHistory } from 'react-router'
import ArtistSentence from './ArtistSentence'
import * as helpers from '../helpers'
import * as coreActions from '../services/core/actions'
import * as uiActions from '../services/ui/actions'
import * as spotifyActions from '../services/spotify/actions'
import ArtistSentence from './../ArtistSentence'
import * as helpers from '../../helpers'
import * as coreActions from '../../services/core/actions'
import * as uiActions from '../../services/ui/actions'
import * as spotifyActions from '../../services/spotify/actions'
class AddSeedField extends React.Component{

View File

@ -3,7 +3,7 @@ import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import Icon from './Icon'
import Icon from './../Icon'
export default class Dropzone extends React.Component{

View File

@ -5,9 +5,9 @@ import { bindActionCreators } from 'redux'
import Dropzone from './Dropzone'
import * as uiActions from '../services/ui/actions'
import * as mopidyActions from '../services/mopidy/actions'
import * as spotifyActions from '../services/spotify/actions'
import * as uiActions from '../../services/ui/actions'
import * as mopidyActions from '../../services/mopidy/actions'
import * as spotifyActions from '../../services/spotify/actions'
class Dropzones extends React.Component{

View File

@ -5,9 +5,9 @@ import { Link } from 'react-router'
import { createStore, bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
import * as helpers from '../helpers'
import * as uiActions from '../services/ui/actions'
import * as spotifyActions from '../services/spotify/actions'
import * as helpers from '../../helpers'
import * as uiActions from '../../services/ui/actions'
import * as spotifyActions from '../../services/spotify/actions'
class FollowButton extends React.Component{

View File

@ -3,12 +3,12 @@ import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { createStore, bindActionCreators } from 'redux'
import ReactGA from 'react-ga'
import FontAwesome from 'react-fontawesome'
import Thumbnail from './Thumbnail'
import * as uiActions from '../services/ui/actions'
import * as lastfmActions from '../services/lastfm/actions'
import Thumbnail from '../Thumbnail'
import * as uiActions from '../../services/ui/actions'
import * as lastfmActions from '../../services/lastfm/actions'
class LastfmAuthenticationFrame extends React.Component{

View File

@ -5,9 +5,9 @@ import { Link } from 'react-router'
import { createStore, bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
import * as helpers from '../helpers'
import * as uiActions from '../services/ui/actions'
import * as lastfmActions from '../services/lastfm/actions'
import * as helpers from '../../helpers'
import * as uiActions from '../../services/ui/actions'
import * as lastfmActions from '../../services/lastfm/actions'
class FollowButton extends React.Component{

View File

@ -7,15 +7,15 @@ import FontAwesome from 'react-fontawesome'
import ProgressSlider from './ProgressSlider'
import VolumeControl from './VolumeControl'
import Dater from './Dater'
import ArtistSentence from './ArtistSentence'
import Thumbnail from './Thumbnail'
import Icon from './Icon'
import Dater from './../Dater'
import ArtistSentence from './../ArtistSentence'
import Thumbnail from './../Thumbnail'
import Icon from './../Icon'
import * as helpers from '../helpers'
import * as uiActions from '../services/ui/actions'
import * as coreActions from '../services/core/actions'
import * as mopidyActions from '../services/mopidy/actions'
import * as helpers from '../../helpers'
import * as uiActions from '../../services/ui/actions'
import * as coreActions from '../../services/core/actions'
import * as mopidyActions from '../../services/mopidy/actions'
class PlaybackControls extends React.Component{

View File

@ -3,7 +3,7 @@ import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import * as mopidyActions from '../services/mopidy/actions'
import * as mopidyActions from '../../services/mopidy/actions'
class ProgressSlider extends React.Component{

View File

@ -5,8 +5,8 @@ import { hashHistory } from 'react-router'
import { createStore, bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
import * as helpers from '../helpers'
import * as uiActions from '../services/ui/actions'
import * as helpers from '../../helpers'
import * as uiActions from '../../services/ui/actions'
class SearchForm extends React.Component{

View File

@ -3,12 +3,12 @@ import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { createStore, bindActionCreators } from 'redux'
import ReactGA from 'react-ga'
import FontAwesome from 'react-fontawesome'
import Thumbnail from './Thumbnail'
import * as uiActions from '../services/ui/actions'
import * as spotifyActions from '../services/spotify/actions'
import Thumbnail from '../Thumbnail'
import * as uiActions from '../../services/ui/actions'
import * as spotifyActions from '../../services/spotify/actions'
class SpotifyAuthenticationFrame extends React.Component{

View File

@ -1,62 +0,0 @@
import React, { PropTypes } from 'react';
import FontAwesome from 'react-fontawesome';
import Icon from '../Icon';
import * as helpers from '../../helpers';
export default class EditSnapcastClientModal extends React.Component{
constructor(props){
super(props);
var client = this.props.clients[this.props.data.id];
this.state = {
id: client.id,
name: client.config.name,
latency: client.config.latency.toString()
};
}
handleSave(e){
this.props.pusherActions.setSnapcastClientName(this.state.id, this.state.name);
this.props.pusherActions.setSnapcastClientLatency(this.state.id, parseInt(this.state.latency));
this.props.uiActions.closeModal();
}
handleDelete(e){
this.props.pusherActions.deleteSnapcastClient(this.state.id);
this.props.uiActions.closeModal();
}
render(){
return (
<div>
<h1>Edit speaker</h1>
<h2 className="grey-text">Description</h2>
<form>
<div className="field text">
<span className="label">Name</span>
<input
type="text"
onChange={e => this.setState({name: e.target.value})}
value={this.state.name} />
</div>
<div className="field text">
<span className="label">Latency (ms)</span>
<input
type="number"
onChange={e => this.setState({latency: e.target.value})}
value={this.state.latency} />
</div>
</form>
<form>
<div className="actions centered-text">
<button className="destructive large" onClick={e => this.handleDelete(e)}>Delete</button>
<button className="primary large" onClick={e => this.handleSave(e)}>Save</button>
</div>
</form>
</div>
)
}
}

View File

@ -11,7 +11,6 @@ import AddToQueueModal from './AddToQueueModal'
import CreatePlaylistModal from './CreatePlaylistModal'
import EditPlaylistModal from './EditPlaylistModal'
import EditRadioModal from './EditRadioModal'
import EditSnapcastClientModal from './EditSnapcastClientModal'
import ImageZoomModal from './ImageZoomModal'
import KioskModeModal from './KioskModeModal'
import SearchURISchemesModal from './SearchURISchemesModal'
@ -116,13 +115,6 @@ class Modal extends React.Component{
artists={this.props.artists}
tracks={this.props.tracks} /> : null }
{ this.props.modal.name == 'edit_snapcast_client' ? <EditSnapcastClientModal
uiActions={this.props.uiActions}
pusherActions={this.props.pusherActions}
data={this.props.modal.data}
clients={this.props.snapcast_clients}
groups={this.props.snapcast_groups} /> : null }
{ this.props.modal.name == 'image_zoom' ? <ImageZoomModal
uiActions={this.props.uiActions}
data={this.props.modal.data} /> : null }
@ -167,9 +159,7 @@ const mapStateToProps = (state, ownProps) => {
mopidy_connected: state.mopidy.connected,
spotify_authorized: state.spotify.authorization,
spotify_library_playlists: state.spotify.library_playlists,
mopidy_library_playlists: state.mopidy.library_playlists,
snapcast_groups: state.pusher.snapcast_groups,
snapcast_clients: state.pusher.snapcast_clients
mopidy_library_playlists: state.mopidy.library_playlists
}
}

View File

@ -8,8 +8,8 @@ import FontAwesome from 'react-fontawesome'
import Thumbnail from './Thumbnail'
import Icon from './Icon'
import URILink from './URILink'
import SpotifyAuthenticationFrame from '../components/SpotifyAuthenticationFrame'
import LastfmAuthenticationFrame from '../components/LastfmAuthenticationFrame'
import SpotifyAuthenticationFrame from '../components/Fields/SpotifyAuthenticationFrame'
import LastfmAuthenticationFrame from '../components/Fields/LastfmAuthenticationFrame'
import Snapcast from '../components/Snapcast'
import * as uiActions from '../services/ui/actions'

View File

@ -5,7 +5,7 @@ import { bindActionCreators } from 'redux'
import { Link, withRouter } from 'react-router'
import Icon from './Icon'
import Dropzones from './Dropzones'
import Dropzones from './Fields/Dropzones'
import Thumbnail from './Thumbnail'
import FontAwesome from 'react-fontawesome'

View File

@ -6,9 +6,9 @@ import { Link, hashHistory } from 'react-router'
import FontAwesome from 'react-fontawesome'
import ArtistSentence from './ArtistSentence'
import VolumeControl from './VolumeControl'
import LatencyControl from './LatencyControl'
import TextField from './Forms/TextField'
import VolumeControl from './Fields/VolumeControl'
import LatencyControl from './Fields/LatencyControl'
import TextField from './Fields/TextField'
import * as helpers from '../helpers'
import * as coreActions from '../services/core/actions'

View File

@ -1,57 +0,0 @@
import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { Link } from 'react-router'
import { createStore, bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
import * as pusherActions from '../services/pusher/actions'
class VersionManager extends React.Component{
constructor(props){
super(props);
}
renderUpgradeButton(){
return <button className="productive" onClick={() => this.props.pusherActions.startUpgrade()}>Upgrade to { this.props.pusher.version.latest }</button>
if (this.props.pusher.upgrading){
return (
<button className="productive working" disabled>
<FontAwesome name="circle-o-notch" spin />
&nbsp;
Upgrading
</button>
);
}
if (this.props.pusher.version.upgrade_available){
return <button className="productive" onClick={() => this.props.pusherActions.startUpgrade()}>Upgrade to { this.props.pusher.version.latest }</button>
}
return <button className="secondary" disabled>Already up-to-date</button>
}
render(){
return (
<span className="version-manager">
<span>{ this.props.pusher.version.current } installed</span>
{this.renderUpgradeButton()}
</span>
);
}
}
const mapStateToProps = (state, ownProps) => {
return state;
}
const mapDispatchToProps = (dispatch) => {
return {
pusherActions: bindActionCreators(pusherActions, dispatch)
}
}
export default connect(mapStateToProps, mapDispatchToProps)(VersionManager)

View File

@ -1348,7 +1348,7 @@ const MopidyMiddleware = (function(){
**/
case 'MOPIDY_GET_LIBRARY_PLAYLISTS':
request(socket, store, 'playlists.asList' )
request(socket, store, 'playlists.asList')
.then(response => {
// drop in our URI list
@ -1387,7 +1387,9 @@ const MopidyMiddleware = (function(){
type: 'PLAYLIST_LOADED',
key: playlist.uri,
playlist: playlist
})
});
console.log(playlist);
})
}
})

View File

@ -10,7 +10,7 @@ import Thumbnail from '../components/Thumbnail'
import Parallax from '../components/Parallax'
import ArtistSentence from '../components/ArtistSentence'
import ArtistGrid from '../components/ArtistGrid'
import FollowButton from '../components/FollowButton'
import FollowButton from '../components/Fields/FollowButton'
import Dater from '../components/Dater'
import LazyLoadListener from '../components/LazyLoadListener'
import ContextMenuTrigger from '../components/ContextMenuTrigger'

View File

@ -13,9 +13,9 @@ import Thumbnail from '../components/Thumbnail'
import Parallax from '../components/Parallax'
import ArtistGrid from '../components/ArtistGrid'
import RelatedArtists from '../components/RelatedArtists'
import FollowButton from '../components/FollowButton'
import FollowButton from '../components/Fields/FollowButton'
import ContextMenuTrigger from '../components/ContextMenuTrigger'
import DropdownField from '../components/DropdownField'
import DropdownField from '../components/Fields/DropdownField'
import * as helpers from '../helpers'
import * as uiActions from '../services/ui/actions'

View File

@ -9,9 +9,9 @@ import ReactGA from 'react-ga'
import TrackList from '../components/TrackList'
import Thumbnail from '../components/Thumbnail'
import Dater from '../components/Dater'
import ConfirmationButton from '../components/ConfirmationButton'
import ConfirmationButton from '../components/Fields/ConfirmationButton'
import LazyLoadListener from '../components/LazyLoadListener'
import FollowButton from '../components/FollowButton'
import FollowButton from '../components/Fields/FollowButton'
import Header from '../components/Header'
import ContextMenuTrigger from '../components/ContextMenuTrigger'
import URILink from '../components/URILink'

View File

@ -7,13 +7,13 @@ import FontAwesome from 'react-fontawesome'
import ReactGA from 'react-ga'
import Header from '../components/Header'
import DropdownField from '../components/DropdownField'
import DropdownField from '../components/Fields/DropdownField'
import TrackList from '../components/TrackList'
import ArtistGrid from '../components/ArtistGrid'
import AlbumGrid from '../components/AlbumGrid'
import PlaylistGrid from '../components/PlaylistGrid'
import LazyLoadListener from '../components/LazyLoadListener'
import SearchForm from '../components/SearchForm'
import SearchForm from '../components/Fields/SearchForm'
import URILink from '../components/URILink'
import * as helpers from '../helpers'

View File

@ -5,7 +5,7 @@ import { hashHistory, Link } from 'react-router'
import { bindActionCreators } from 'redux'
import FontAwesome from 'react-fontawesome'
import ConfirmationButton from '../components/ConfirmationButton'
import ConfirmationButton from '../components/Fields/ConfirmationButton'
import PusherConnectionList from '../components/PusherConnectionList'
import Header from '../components/Header'
import Parallax from '../components/Parallax'

View File

@ -10,8 +10,8 @@ import TrackList from '../components/TrackList'
import Thumbnail from '../components/Thumbnail'
import ArtistSentence from '../components/ArtistSentence'
import ArtistGrid from '../components/ArtistGrid'
import FollowButton from '../components/FollowButton'
import LastfmLoveButton from '../components/LastfmLoveButton'
import FollowButton from '../components/Fields/FollowButton'
import LastfmLoveButton from '../components/Fields/LastfmLoveButton'
import Dater from '../components/Dater'
import LazyLoadListener from '../components/LazyLoadListener'
import ContextMenuTrigger from '../components/ContextMenuTrigger'

View File

@ -6,7 +6,7 @@ import FontAwesome from 'react-fontawesome'
import Thumbnail from '../components/Thumbnail'
import PlaylistGrid from '../components/PlaylistGrid'
import FollowButton from '../components/FollowButton'
import FollowButton from '../components/Fields/FollowButton'
import LazyLoadListener from '../components/LazyLoadListener'
import Parallax from '../components/Parallax'
import ContextMenuTrigger from '../components/ContextMenuTrigger'

View File

@ -12,8 +12,8 @@ import AlbumGrid from '../../components/AlbumGrid'
import TrackList from '../../components/TrackList'
import Thumbnail from '../../components/Thumbnail'
import Parallax from '../../components/Parallax'
import DropdownField from '../../components/DropdownField'
import AddSeedField from '../../components/AddSeedField'
import DropdownField from '../../components/Fields/DropdownField'
import AddSeedField from '../../components/Fields/AddSeedField'
import URILink from '../../components/URILink'
import ContextMenuTrigger from '../../components/ContextMenuTrigger'
import RelatedArtists from '../../components/RelatedArtists'

View File

@ -10,8 +10,8 @@ import Header from '../../components/Header'
import Thumbnail from '../../components/Thumbnail'
import TrackList from '../../components/TrackList'
import ArtistSentence from '../../components/ArtistSentence'
import DropdownField from '../../components/DropdownField'
import FilterField from '../../components/FilterField'
import DropdownField from '../../components/Fields/DropdownField'
import FilterField from '../../components/Fields/FilterField'
import LazyLoadListener from '../../components/LazyLoadListener'
import * as helpers from '../../helpers'

View File

@ -7,8 +7,8 @@ import { Link } from 'react-router'
import Header from '../../components/Header'
import ArtistGrid from '../../components/ArtistGrid'
import List from '../../components/List'
import DropdownField from '../../components/DropdownField'
import FilterField from '../../components/FilterField'
import DropdownField from '../../components/Fields/DropdownField'
import FilterField from '../../components/Fields/FilterField'
import LazyLoadListener from '../../components/LazyLoadListener'
import * as helpers from '../../helpers'

View File

@ -7,9 +7,9 @@ import FontAwesome from 'react-fontawesome'
import PlaylistGrid from '../../components/PlaylistGrid'
import List from '../../components/List'
import DropdownField from '../../components/DropdownField'
import DropdownField from '../../components/Fields/DropdownField'
import Header from '../../components/Header'
import FilterField from '../../components/FilterField'
import FilterField from '../../components/Fields/FilterField'
import LazyLoadListener from '../../components/LazyLoadListener'
import * as helpers from '../../helpers'
@ -41,11 +41,12 @@ class LibraryPlaylists extends React.Component{
}
componentWillReceiveProps(newProps){
if (newProps.mopidy_connected && (newProps.source == 'all' || newProps.source == 'local')){
// We've just connected
if (!this.props.mopidy_connected){
this.props.mopidyActions.getLibraryPlaylists()
this.props.mopidyActions.getLibraryPlaylists();
}
// Filter changed, but we haven't got this provider's library yet