Genre for non-Spotify providers working
This commit is contained in:
@ -159986,8 +159986,6 @@ var SecondaryLine = function SecondaryLine(_ref) {
|
||||
followers = _ref$item.followers,
|
||||
_ref$item$albums_uris = _ref$item.albums_uris,
|
||||
albums_uris = _ref$item$albums_uris === void 0 ? [] : _ref$item$albums_uris,
|
||||
_ref$item$playlists_u = _ref$item.playlists_uris,
|
||||
playlists_uris = _ref$item$playlists_u === void 0 ? [] : _ref$item$playlists_u,
|
||||
artists = _ref$item.artists;
|
||||
var trackCount = 0;
|
||||
if (tracks) trackCount = tracks.length;
|
||||
@ -160112,7 +160110,7 @@ var GridItem = function GridItem(_ref2) {
|
||||
|
||||
|
||||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
|
||||
if (!item.images) {
|
||||
if (!item.images && !item.loading) {
|
||||
switch (item.type) {
|
||||
case 'artist':
|
||||
if (spotify_available) {
|
||||
@ -160121,8 +160119,8 @@ var GridItem = function GridItem(_ref2) {
|
||||
|
||||
break;
|
||||
|
||||
case 'album':
|
||||
case 'playlist':
|
||||
case 'album':
|
||||
dispatch(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_11__["getImages"]([item.uri]));
|
||||
break;
|
||||
|
||||
@ -164809,7 +164807,7 @@ var Sidebar = function Sidebar() {
|
||||
path: "sidebar.search",
|
||||
"data-qa-node": "I18n",
|
||||
"data-qa-file": "Sidebar"
|
||||
}))), spotify_available && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", {
|
||||
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", {
|
||||
className: "sidebar__menu__section",
|
||||
"data-qa-node": "section",
|
||||
"data-qa-file": "Sidebar"
|
||||
@ -170090,8 +170088,6 @@ var CoreMiddleware = function () {
|
||||
case 'LOAD_PLAYLIST_GROUP':
|
||||
{
|
||||
var _fetch5 = function _fetch5() {
|
||||
console.debug('fetching', action);
|
||||
|
||||
switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["uriSource"])(action.uri)) {
|
||||
case 'spotify':
|
||||
store.dispatch(spotifyActions.getCategory(action.uri, action.options));
|
||||
@ -170107,8 +170103,9 @@ var CoreMiddleware = function () {
|
||||
store: store,
|
||||
action: action,
|
||||
fetch: _fetch5,
|
||||
dependents: ['playlist_uris', 'playlists'],
|
||||
type: 'playlist_group'
|
||||
dependents: ['playlists_uris'],
|
||||
type: 'playlist' // Refers to dependent's type
|
||||
|
||||
});
|
||||
next(action);
|
||||
break;
|
||||
@ -174207,9 +174204,6 @@ var MopidyMiddleware = function () {
|
||||
var itemsWithImages = [];
|
||||
Object.keys(response).forEach(function (uri) {
|
||||
var images = response[uri];
|
||||
console.debug({
|
||||
images: images
|
||||
});
|
||||
|
||||
if (images) {
|
||||
itemsWithImages.push({
|
||||
@ -174441,21 +174435,21 @@ var MopidyMiddleware = function () {
|
||||
case 'MOPIDY_GET_PLAYLIST_GROUP':
|
||||
{
|
||||
var decodedUri = action.uri ? decodeURIComponent(action.uri) : null;
|
||||
store.dispatch(coreActions.itemLoaded({
|
||||
var playlistGroup = Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatPlaylistGroup"])({
|
||||
uri: decodedUri,
|
||||
loading: true
|
||||
}));
|
||||
});
|
||||
store.dispatch(coreActions.itemLoaded(playlistGroup));
|
||||
request(store, 'library.browse', {
|
||||
uri: action.uri
|
||||
}).then(function (browse) {
|
||||
var playlists = Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatPlaylists"])(browse);
|
||||
var playlists_uris = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('uri', playlists);
|
||||
store.dispatch(coreActions.itemsLoaded(playlists));
|
||||
store.dispatch(coreActions.itemLoaded({
|
||||
uri: decodedUri,
|
||||
store.dispatch(coreActions.itemLoaded(_objectSpread(_objectSpread({}, playlistGroup), {}, {
|
||||
loading: false,
|
||||
playlists_uris: playlists_uris
|
||||
}));
|
||||
})));
|
||||
});
|
||||
break;
|
||||
}
|
||||
@ -187313,8 +187307,8 @@ var PlaylistGroup = function PlaylistGroup(_ref) {
|
||||
}
|
||||
}, [playlistGroup]);
|
||||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
|
||||
loadPlaylistGroup(uri);
|
||||
}, []);
|
||||
if (uri) loadPlaylistGroup(uri);
|
||||
}, [uri]);
|
||||
|
||||
var refresh = function refresh() {
|
||||
hideContextMenu();
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -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