Starting to build UI; everything spotify goes via getToken
This commit is contained in:
@ -4,6 +4,8 @@ import { connect } from 'react-redux'
|
||||
import { bindActionCreators } from 'redux'
|
||||
|
||||
import TrackList from '../components/TrackList'
|
||||
import Header from '../components/Header'
|
||||
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
|
||||
@ -29,7 +31,10 @@ class Album extends React.Component{
|
||||
if( this.props.spotify.album ){
|
||||
return (
|
||||
<div>
|
||||
<h3>{ this.props.spotify.album.name }</h3>
|
||||
<Header
|
||||
icon="cd"
|
||||
title={ this.props.spotify.album.name }
|
||||
/>
|
||||
<TrackList tracks={this.props.spotify.album.tracks.items} />
|
||||
</div>
|
||||
);
|
||||
|
||||
@ -5,7 +5,7 @@ import { createStore, bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
import { connect } from 'react-redux'
|
||||
|
||||
import Player from '../components/Player'
|
||||
import Sidebar from '../components/Sidebar'
|
||||
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
@ -25,19 +25,12 @@ class App extends React.Component{
|
||||
}
|
||||
|
||||
render(){
|
||||
|
||||
return (
|
||||
<div>
|
||||
<ul role="nav">
|
||||
<li><Link to="/queue">Now playing</Link></li>
|
||||
<li><Link to="/library/artists">Library: My artists</Link></li>
|
||||
<li><Link to="/library/albums">Library: My albums</Link></li>
|
||||
<li><Link to="/library/tracks">Library: My tracks</Link></li>
|
||||
<li><Link to="/library/playlists">Library: My playlists</Link></li>
|
||||
<li><Link to="/settings">Settings</Link></li>
|
||||
</ul>
|
||||
{this.props.children}
|
||||
<Player />
|
||||
<Sidebar />
|
||||
<main>
|
||||
{this.props.children}
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -30,7 +30,10 @@ class Artist extends React.Component{
|
||||
if( this.props.spotify.artist ){
|
||||
return (
|
||||
<div>
|
||||
<h3>{ this.props.spotify.artist.name }</h3>
|
||||
<Header
|
||||
icon="mic"
|
||||
title={ this.props.spotify.artist.name }
|
||||
/>
|
||||
<p>{ this.props.spotify.artist.followers.total.toLocaleString() } followers</p>
|
||||
{ this.props.spotify.artist.tracks ? <TrackList tracks={ this.props.spotify.artist.tracks } /> : null }
|
||||
{ this.props.spotify.artist_albums ? <AlbumGrid items={ this.props.spotify.artist_albums } /> : null }
|
||||
|
||||
@ -4,6 +4,8 @@ import { connect } from 'react-redux'
|
||||
import { bindActionCreators } from 'redux'
|
||||
|
||||
import TrackList from '../components/TrackList'
|
||||
import Header from '../components/Header'
|
||||
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
|
||||
@ -29,7 +31,10 @@ class Playlist extends React.Component{
|
||||
if( this.props.spotify.playlist ){
|
||||
return (
|
||||
<div>
|
||||
<h3>{ this.props.spotify.playlist.name }</h3>
|
||||
<Header
|
||||
icon="playlist"
|
||||
title={ this.props.spotify.playlist.name }
|
||||
/>
|
||||
<TrackList tracks={this.props.spotify.playlist.tracks.items} />
|
||||
</div>
|
||||
);
|
||||
|
||||
@ -9,6 +9,8 @@ import Track from '../components/Track'
|
||||
import Player from '../components/Player'
|
||||
import ArtistList from '../components/ArtistList'
|
||||
import AlbumLink from '../components/AlbumLink'
|
||||
import Header from '../components/Header'
|
||||
|
||||
import * as actions from '../services/mopidy/actions'
|
||||
|
||||
class Queue extends React.Component{
|
||||
@ -60,9 +62,11 @@ class Queue extends React.Component{
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<h3>Now playing</h3>
|
||||
<Header
|
||||
icon="play"
|
||||
title="Now playing"
|
||||
/>
|
||||
{ this.renderTrackInFocus() }
|
||||
<Player />
|
||||
<h4>Other tracks</h4>
|
||||
{ this.renderTrackList() }
|
||||
</div>
|
||||
|
||||
@ -6,6 +6,7 @@ import { bindActionCreators } from 'redux'
|
||||
import FontAwesome from 'react-fontawesome'
|
||||
import SpotifyAuthenticationFrame from '../components/SpotifyAuthenticationFrame'
|
||||
import ConfirmationButton from '../components/ConfirmationButton'
|
||||
import Header from '../components/Header'
|
||||
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
@ -40,7 +41,10 @@ class Settings extends React.Component{
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<h3>Settings</h3>
|
||||
<Header
|
||||
icon="cog"
|
||||
title="Settings"
|
||||
/>
|
||||
|
||||
<h4>Mopidy</h4>
|
||||
<form onSubmit={() => this.setMopidyConfig()}>
|
||||
|
||||
@ -5,6 +5,7 @@ import { bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
|
||||
import AlbumGrid from '../../components/AlbumGrid'
|
||||
import Header from '../../components/Header'
|
||||
|
||||
import * as mopidyActions from '../../services/mopidy/actions'
|
||||
import * as spotifyActions from '../../services/spotify/actions'
|
||||
@ -24,7 +25,10 @@ class LibraryAlbums extends React.Component{
|
||||
if( this.props.spotify.libraryAlbums ){
|
||||
return (
|
||||
<div>
|
||||
<h3>My albums</h3>
|
||||
<Header
|
||||
icon="cd"
|
||||
title="My albums"
|
||||
/>
|
||||
<AlbumGrid items={this.props.spotify.libraryAlbums} />
|
||||
</div>
|
||||
);
|
||||
|
||||
@ -4,6 +4,8 @@ import { connect } from 'react-redux'
|
||||
import { bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
|
||||
import Header from '../../components/Header'
|
||||
|
||||
import * as mopidyActions from '../../services/mopidy/actions'
|
||||
import * as spotifyActions from '../../services/spotify/actions'
|
||||
|
||||
@ -22,7 +24,10 @@ class LibraryArtists extends React.Component{
|
||||
if( this.props.spotify.libraryArtists ){
|
||||
return (
|
||||
<div>
|
||||
<h3>My artists</h3>
|
||||
<Header
|
||||
icon="mic"
|
||||
title="My artists"
|
||||
/>
|
||||
<ul>
|
||||
{
|
||||
this.props.spotify.libraryArtists.artists.items.map( (artist, index) => {
|
||||
|
||||
@ -5,6 +5,7 @@ import { bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
|
||||
import PlaylistListItem from '../../components/PlaylistListItem'
|
||||
import Header from '../../components/Header'
|
||||
|
||||
import * as mopidyActions from '../../services/mopidy/actions'
|
||||
import * as spotifyActions from '../../services/spotify/actions'
|
||||
@ -67,7 +68,10 @@ class LibraryPlaylists extends React.Component{
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<h3>My playlists</h3>
|
||||
<Header
|
||||
icon="playlist"
|
||||
title="My playlists"
|
||||
/>
|
||||
{ this.renderPlaylists() }
|
||||
</div>
|
||||
)
|
||||
|
||||
@ -5,6 +5,7 @@ import { bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
|
||||
import TrackList from '../../components/TrackList'
|
||||
import Header from '../../components/Header'
|
||||
|
||||
import * as mopidyActions from '../../services/mopidy/actions'
|
||||
import * as spotifyActions from '../../services/spotify/actions'
|
||||
@ -24,7 +25,7 @@ class LibraryTracks extends React.Component{
|
||||
if( this.props.spotify.libraryTracks ){
|
||||
return (
|
||||
<div>
|
||||
<h3>My tracks</h3>
|
||||
<Header icon="music" title="My tracks" />
|
||||
<TrackList tracks={this.props.spotify.libraryTracks.items} />
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user