Genre for non-Spotify providers working
This commit is contained in:
@ -22,7 +22,6 @@ const SecondaryLine = ({
|
||||
tracks = [],
|
||||
followers,
|
||||
albums_uris = [],
|
||||
playlists_uris = [],
|
||||
artists,
|
||||
} = {},
|
||||
}) => {
|
||||
@ -93,15 +92,15 @@ const GridItem = ({
|
||||
|
||||
// Load images
|
||||
useEffect(() => {
|
||||
if (!item.images) {
|
||||
if (!item.images && !item.loading) {
|
||||
switch (item.type) {
|
||||
case 'artist':
|
||||
if (spotify_available) {
|
||||
dispatch(spotifyActions.getArtistImages(item));
|
||||
}
|
||||
break;
|
||||
case 'album':
|
||||
case 'playlist':
|
||||
case 'album':
|
||||
dispatch(mopidyActions.getImages([item.uri]));
|
||||
break;
|
||||
default:
|
||||
|
||||
@ -85,33 +85,31 @@ const Sidebar = () => {
|
||||
</Link>
|
||||
</section>
|
||||
|
||||
{spotify_available && (
|
||||
<section className="sidebar__menu__section">
|
||||
<title className="sidebar__menu__section__title">
|
||||
<I18n path="sidebar.discover" />
|
||||
</title>
|
||||
<Link to="/discover/recommendations" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="explore" type="material" />
|
||||
<I18n path="sidebar.discover" />
|
||||
</Link>
|
||||
<Link to="/discover/moods" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="mood" type="material" />
|
||||
<I18n path="sidebar.moods" />
|
||||
</Link>
|
||||
<Link to="/discover/categories" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="mood" type="material" />
|
||||
<I18n path="sidebar.genre" />
|
||||
</Link>
|
||||
<Link to="/discover/featured" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="star" type="material" />
|
||||
<I18n path="sidebar.featured_playlists" />
|
||||
</Link>
|
||||
<Link to="/discover/new-releases" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="new_releases" type="material" />
|
||||
<I18n path="sidebar.new_releases" />
|
||||
</Link>
|
||||
</section>
|
||||
)}
|
||||
<section className="sidebar__menu__section">
|
||||
<title className="sidebar__menu__section__title">
|
||||
<I18n path="sidebar.discover" />
|
||||
</title>
|
||||
<Link to="/discover/recommendations" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="explore" type="material" />
|
||||
<I18n path="sidebar.discover" />
|
||||
</Link>
|
||||
<Link to="/discover/moods" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="mood" type="material" />
|
||||
<I18n path="sidebar.moods" />
|
||||
</Link>
|
||||
<Link to="/discover/categories" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="mood" type="material" />
|
||||
<I18n path="sidebar.genre" />
|
||||
</Link>
|
||||
<Link to="/discover/featured" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="star" type="material" />
|
||||
<I18n path="sidebar.featured_playlists" />
|
||||
</Link>
|
||||
<Link to="/discover/new-releases" className="sidebar__menu__item" activeClassName="sidebar__menu__item--active">
|
||||
<Icon name="new_releases" type="material" />
|
||||
<I18n path="sidebar.new_releases" />
|
||||
</Link>
|
||||
</section>
|
||||
|
||||
<section className="sidebar__menu__section">
|
||||
<title className="sidebar__menu__section__title">
|
||||
|
||||
@ -502,7 +502,6 @@ const CoreMiddleware = (function () {
|
||||
|
||||
case 'LOAD_PLAYLIST_GROUP': {
|
||||
const fetch = () => {
|
||||
console.debug('fetching', action)
|
||||
switch (uriSource(action.uri)) {
|
||||
case 'spotify':
|
||||
store.dispatch(spotifyActions.getCategory(action.uri, action.options));
|
||||
@ -516,8 +515,8 @@ const CoreMiddleware = (function () {
|
||||
store,
|
||||
action,
|
||||
fetch,
|
||||
dependents: ['playlist_uris', 'playlists'],
|
||||
type: 'playlist_group',
|
||||
dependents: ['playlists_uris'],
|
||||
type: 'playlist', // Refers to dependent's type
|
||||
});
|
||||
next(action);
|
||||
break;
|
||||
|
||||
@ -1772,8 +1772,6 @@ const MopidyMiddleware = (function () {
|
||||
Object.keys(response).forEach((uri) => {
|
||||
const images = response[uri];
|
||||
|
||||
console.debug({ images })
|
||||
|
||||
if (images) {
|
||||
itemsWithImages.push({
|
||||
uri,
|
||||
@ -1989,17 +1987,18 @@ const MopidyMiddleware = (function () {
|
||||
|
||||
case 'MOPIDY_GET_PLAYLIST_GROUP': {
|
||||
const decodedUri = action.uri ? decodeURIComponent(action.uri) : null;
|
||||
store.dispatch(coreActions.itemLoaded({
|
||||
const playlistGroup = formatPlaylistGroup({
|
||||
uri: decodedUri,
|
||||
loading: true,
|
||||
}));
|
||||
});
|
||||
store.dispatch(coreActions.itemLoaded(playlistGroup));
|
||||
request(store, 'library.browse', { uri: action.uri })
|
||||
.then((browse) => {
|
||||
const playlists = formatPlaylists(browse);
|
||||
const playlists_uris = arrayOf('uri', playlists);
|
||||
store.dispatch(coreActions.itemsLoaded(playlists));
|
||||
store.dispatch(coreActions.itemLoaded({
|
||||
uri: decodedUri,
|
||||
...playlistGroup,
|
||||
loading: false,
|
||||
playlists_uris,
|
||||
}));
|
||||
|
||||
@ -50,9 +50,12 @@ const PlaylistGroup = ({
|
||||
}
|
||||
}, [playlistGroup]);
|
||||
|
||||
useEffect(() => {
|
||||
loadPlaylistGroup(uri);
|
||||
}, []);
|
||||
useEffect(
|
||||
() => {
|
||||
if (uri) loadPlaylistGroup(uri);
|
||||
},
|
||||
[uri],
|
||||
);
|
||||
|
||||
const refresh = () => {
|
||||
hideContextMenu();
|
||||
|
||||
Reference in New Issue
Block a user