diff --git a/src/js/App.js b/src/js/App.js index 891f720d..d8959337 100755 --- a/src/js/App.js +++ b/src/js/App.js @@ -16,7 +16,7 @@ import ErrorMessage from './components/ErrorMessage'; import Stream from './components/Stream'; import Album from './views/Album'; -import Artist from './views/Artist'; +import Artist from './views/Artist/Artist'; import Playlist from './views/Playlist'; import User from './views/User'; import Track from './views/Track'; @@ -26,19 +26,8 @@ import QueueHistory from './views/QueueHistory'; import Debug from './views/Debug'; import Search from './views/Search'; import Settings from './views/Settings'; - -import DiscoverRecommendations from './views/Discover/DiscoverRecommendations'; -import DiscoverFeatured from './views/Discover/DiscoverFeatured'; -import DiscoverCategories from './views/Discover/DiscoverCategories'; -import DiscoverCategory from './views/Discover/DiscoverCategory'; -import DiscoverNewReleases from './views/Discover/DiscoverNewReleases'; - -import LibraryArtists from './views/Library/LibraryArtists'; -import LibraryAlbums from './views/Library/LibraryAlbums'; -import LibraryTracks from './views/Library/LibraryTracks'; -import LibraryPlaylists from './views/Library/LibraryPlaylists'; -import LibraryBrowse from './views/Library/LibraryBrowse'; -import LibraryBrowseDirectory from './views/Library/LibraryBrowseDirectory'; +import Discover from './views/Discover/Discover'; +import Library from './views/Library/Library'; import EditPlaylist from './views/modals/EditPlaylist'; import CreatePlaylist from './views/modals/CreatePlaylist'; @@ -328,60 +317,13 @@ const App = () => { - - - - - - - - - diff --git a/src/js/views/Artist.js b/src/js/views/Artist/Artist.js similarity index 82% rename from src/js/views/Artist.js rename to src/js/views/Artist/Artist.js index d2a39592..e3875da2 100755 --- a/src/js/views/Artist.js +++ b/src/js/views/Artist/Artist.js @@ -2,28 +2,28 @@ import React, { useState, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { bindActionCreators } from 'redux'; import { Route, Switch, useParams, useHistory } from 'react-router-dom'; -import ErrorMessage from '../components/ErrorMessage'; -import Link from '../components/Link'; -import Thumbnail from '../components/Thumbnail'; -import Parallax from '../components/Parallax'; -import FollowButton from '../components/Fields/FollowButton'; -import ContextMenuTrigger from '../components/ContextMenuTrigger'; -import About from './Artist/About'; -import Overview from './Artist/Overview'; -import Tracks from './Artist/Tracks'; -import Related from './Artist/Related'; -import Loader from '../components/Loader'; -import * as coreActions from '../services/core/actions'; -import * as uiActions from '../services/ui/actions'; -import * as mopidyActions from '../services/mopidy/actions'; +import ErrorMessage from '../../components/ErrorMessage'; +import Link from '../../components/Link'; +import Thumbnail from '../../components/Thumbnail'; +import Parallax from '../../components/Parallax'; +import FollowButton from '../../components/Fields/FollowButton'; +import ContextMenuTrigger from '../../components/ContextMenuTrigger'; +import About from './About'; +import Overview from './Overview'; +import Tracks from './Tracks'; +import Related from './Related'; +import Loader from '../../components/Loader'; +import * as coreActions from '../../services/core/actions'; +import * as uiActions from '../../services/ui/actions'; +import * as mopidyActions from '../../services/mopidy/actions'; import { uriSource, -} from '../util/helpers'; -import { encodeUri, decodeUri } from '../util/format'; -import { arrayOf } from '../util/arrays'; -import { i18n, I18n } from '../locale'; -import Button from '../components/Button'; -import { makeItemSelector } from '../util/selectors'; +} from '../../util/helpers'; +import { encodeUri, decodeUri } from '../../util/format'; +import { arrayOf } from '../../util/arrays'; +import { i18n, I18n } from '../../locale'; +import Button from '../../components/Button'; +import { makeItemSelector } from '../../util/selectors'; const Artist = () => { const history = useHistory(); diff --git a/src/js/views/Discover/DiscoverCategories.js b/src/js/views/Discover/Categories.js similarity index 93% rename from src/js/views/Discover/DiscoverCategories.js rename to src/js/views/Discover/Categories.js index 6d32dd5b..9101c21b 100755 --- a/src/js/views/Discover/DiscoverCategories.js +++ b/src/js/views/Discover/Categories.js @@ -14,7 +14,7 @@ import { i18n, I18n } from '../../locale'; import { indexToArray, applyFilter } from '../../util/arrays'; import { makeLoadingSelector } from '../../util/selectors'; -const DiscoverCategories = ({ +const Categories = ({ loading, categories: categoriesProp, spotifyActions: { @@ -99,4 +99,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(DiscoverCategories); +export default connect(mapStateToProps, mapDispatchToProps)(Categories); diff --git a/src/js/views/Discover/DiscoverCategory.js b/src/js/views/Discover/Category.js similarity index 94% rename from src/js/views/Discover/DiscoverCategory.js rename to src/js/views/Discover/Category.js index 5be4df50..09017738 100755 --- a/src/js/views/Discover/DiscoverCategory.js +++ b/src/js/views/Discover/Category.js @@ -23,7 +23,7 @@ import { decodeUri } from '../../util/format'; const SORT_KEY = 'discover_category'; -const DiscoverCategory = ({ +const Category = ({ uri, category, loading, @@ -170,4 +170,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(DiscoverCategory); +export default connect(mapStateToProps, mapDispatchToProps)(Category); diff --git a/src/js/views/Discover/Discover.js b/src/js/views/Discover/Discover.js new file mode 100644 index 00000000..9a627a0e --- /dev/null +++ b/src/js/views/Discover/Discover.js @@ -0,0 +1,39 @@ +import React from 'react'; +import { Route, Switch } from 'react-router-dom'; +import Recommendations from './Recommendations'; +import Featured from './Featured'; +import Categories from './Categories'; +import Category from './Category'; +import NewReleases from './NewReleases'; + +export default () => { + return ( + + + + + + + + ); +} diff --git a/src/js/views/Discover/DiscoverFeatured.js b/src/js/views/Discover/Featured.js similarity index 92% rename from src/js/views/Discover/DiscoverFeatured.js rename to src/js/views/Discover/Featured.js index a2b38bbe..526eca84 100755 --- a/src/js/views/Discover/DiscoverFeatured.js +++ b/src/js/views/Discover/Featured.js @@ -13,7 +13,7 @@ import Button from '../../components/Button'; import { indexToArray } from '../../util/arrays'; import { makeLoadingSelector } from '../../util/selectors'; -class DiscoverFeatured extends React.Component { +class Featured extends React.Component { componentDidMount() { const { uris, @@ -119,4 +119,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(DiscoverFeatured); +export default connect(mapStateToProps, mapDispatchToProps)(Featured); diff --git a/src/js/views/Discover/DiscoverNewReleases.js b/src/js/views/Discover/NewReleases.js similarity index 92% rename from src/js/views/Discover/DiscoverNewReleases.js rename to src/js/views/Discover/NewReleases.js index 18c90363..3161747c 100755 --- a/src/js/views/Discover/DiscoverNewReleases.js +++ b/src/js/views/Discover/NewReleases.js @@ -17,7 +17,7 @@ import { makeLoadingSelector, } from '../../util/selectors'; -class DiscoverNewReleases extends React.Component { +class NewReleases extends React.Component { componentDidMount() { const { new_releases, @@ -171,4 +171,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(DiscoverNewReleases); +export default connect(mapStateToProps, mapDispatchToProps)(NewReleases); diff --git a/src/js/views/Discover/DiscoverRecommendations.js b/src/js/views/Discover/Recommendations.js similarity index 95% rename from src/js/views/Discover/DiscoverRecommendations.js rename to src/js/views/Discover/Recommendations.js index 45f87427..7691cdb6 100755 --- a/src/js/views/Discover/DiscoverRecommendations.js +++ b/src/js/views/Discover/Recommendations.js @@ -28,7 +28,7 @@ import { i18n, I18n } from '../../locale'; import Button from '../../components/Button'; import { decodeUri, encodeUri } from '../../util/format'; -class Discover extends React.Component { +class Recommendations extends React.Component { constructor(props) { super(props); @@ -588,4 +588,4 @@ const mapDispatchToProps = (dispatch) => ({ coreActions: bindActionCreators(coreActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(Discover); +export default connect(mapStateToProps, mapDispatchToProps)(Recommendations); diff --git a/src/js/views/Library/LibraryAlbums.js b/src/js/views/Library/Albums.js similarity index 94% rename from src/js/views/Library/LibraryAlbums.js rename to src/js/views/Library/Albums.js index 507dde29..1e0ff0a0 100755 --- a/src/js/views/Library/LibraryAlbums.js +++ b/src/js/views/Library/Albums.js @@ -29,7 +29,7 @@ const processKeys = [ 'SPOTIFY_GET_LIBRARY_ALBUMS', ]; -class LibraryAlbums extends React.Component { +class Albums extends React.Component { constructor(props) { super(props); @@ -305,4 +305,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryAlbums); +export default connect(mapStateToProps, mapDispatchToProps)(Albums); diff --git a/src/js/views/Library/LibraryArtists.js b/src/js/views/Library/Artists.js similarity index 94% rename from src/js/views/Library/LibraryArtists.js rename to src/js/views/Library/Artists.js index 29066f5b..da61feda 100755 --- a/src/js/views/Library/LibraryArtists.js +++ b/src/js/views/Library/Artists.js @@ -27,7 +27,7 @@ const processKeys = [ 'SPOTIFY_GET_LIBRARY_ARTISTS', ]; -class LibraryArtists extends React.Component { +class Artists extends React.Component { constructor(props) { super(props); @@ -284,4 +284,4 @@ const mapDispatchToProps = (dispatch) => ({ coreActions: bindActionCreators(coreActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryArtists); +export default connect(mapStateToProps, mapDispatchToProps)(Artists); diff --git a/src/js/views/Library/LibraryBrowse.js b/src/js/views/Library/Browse.js similarity index 94% rename from src/js/views/Library/LibraryBrowse.js rename to src/js/views/Library/Browse.js index 0f03801f..c8f0a326 100755 --- a/src/js/views/Library/LibraryBrowse.js +++ b/src/js/views/Library/Browse.js @@ -11,7 +11,7 @@ import { formatImages, encodeUri } from '../../util/format'; import { I18n, i18n } from '../../locale'; import { makeLoadingSelector } from '../../util/selectors'; -class LibraryBrowse extends React.Component { +class Browse extends React.Component { componentDidMount() { this.loadDirectory(); this.props.uiActions.setWindowTitle(i18n('library.browse.title')); @@ -153,4 +153,4 @@ const mapDispatchToProps = (dispatch) => ({ mopidyActions: bindActionCreators(mopidyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryBrowse); +export default connect(mapStateToProps, mapDispatchToProps)(Browse); diff --git a/src/js/views/Library/LibraryBrowseDirectory.js b/src/js/views/Library/BrowseDirectory.js similarity index 94% rename from src/js/views/Library/LibraryBrowseDirectory.js rename to src/js/views/Library/BrowseDirectory.js index f55a55d9..009671be 100755 --- a/src/js/views/Library/LibraryBrowseDirectory.js +++ b/src/js/views/Library/BrowseDirectory.js @@ -64,7 +64,7 @@ const Subdirectories = ({ items, view }) => { ); }; -class LibraryBrowseDirectory extends React.Component { +class BrowseDirectory extends React.Component { constructor(props) { super(props); @@ -269,4 +269,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryBrowseDirectory); +export default connect(mapStateToProps, mapDispatchToProps)(BrowseDirectory); diff --git a/src/js/views/Library/Library.js b/src/js/views/Library/Library.js new file mode 100644 index 00000000..b3f8ad68 --- /dev/null +++ b/src/js/views/Library/Library.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { Route, Switch } from 'react-router-dom'; +import Artists from './Artists'; +import Albums from './Albums'; +import Tracks from './Tracks'; +import Playlists from './Playlists'; +import Browse from './Browse'; +import BrowseDirectory from './BrowseDirectory'; + +export default () => { + return ( + + + + + + + + + ); +} diff --git a/src/js/views/Library/LibraryPlaylists.js b/src/js/views/Library/Playlists.js similarity index 94% rename from src/js/views/Library/LibraryPlaylists.js rename to src/js/views/Library/Playlists.js index 28c210e5..fd22ad6e 100755 --- a/src/js/views/Library/LibraryPlaylists.js +++ b/src/js/views/Library/Playlists.js @@ -29,7 +29,7 @@ const processKeys = [ 'SPOTIFY_GET_LIBRARY_PLAYLISTS', ]; -class LibraryPlaylists extends React.Component { +class Playlists extends React.Component { constructor(props) { super(props); @@ -324,4 +324,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryPlaylists); +export default connect(mapStateToProps, mapDispatchToProps)(Playlists); diff --git a/src/js/views/Library/LibraryTracks.js b/src/js/views/Library/Tracks.js similarity index 94% rename from src/js/views/Library/LibraryTracks.js rename to src/js/views/Library/Tracks.js index faae5353..4a042a81 100755 --- a/src/js/views/Library/LibraryTracks.js +++ b/src/js/views/Library/Tracks.js @@ -29,7 +29,7 @@ const processKeys = [ 'SPOTIFY_GET_LIBRARY_TRACKS', ]; -class LibraryTracks extends React.Component { +class Tracks extends React.Component { constructor(props) { super(props); @@ -306,4 +306,4 @@ const mapDispatchToProps = (dispatch) => ({ spotifyActions: bindActionCreators(spotifyActions, dispatch), }); -export default connect(mapStateToProps, mapDispatchToProps)(LibraryTracks); +export default connect(mapStateToProps, mapDispatchToProps)(Tracks);