Context menu for User; Fixing loader for Categories

This commit is contained in:
James Barnsley
2021-02-10 16:45:07 +13:00
parent bc38b1ba6b
commit 3087c49f6c
10 changed files with 147 additions and 122 deletions

View File

@ -13,6 +13,7 @@ import {
} from '../../util/helpers';
import { i18n, I18n } from '../../locale';
import { indexToArray } from '../../util/arrays';
import { makeLoadingSelector } from '../../util/selectors';
class DiscoverCategories extends React.Component {
componentDidMount() {
@ -37,22 +38,15 @@ class DiscoverCategories extends React.Component {
render = () => {
const {
load_queue,
categories: categoriesProp,
loading,
categories,
uiActions,
} = this.props;
if (isLoading(load_queue, ['spotify_browse/categories'])) {
return (
<div className="view discover-categories-view">
<Header icon="grid" title={i18n('discover.categories.title')} />
<Loader body loading />
</div>
);
if (loading) {
return <Loader body loading />;
}
const categories = indexToArray(categoriesProp);
return (
<div className="view discover-categories-view">
<Header uiActions={uiActions}>
@ -67,10 +61,14 @@ class DiscoverCategories extends React.Component {
}
}
const mapStateToProps = (state) => ({
categories: state.spotify.categories,
load_queue: state.ui.load_queue,
});
const mapStateToProps = (state) => {
const loadingSelector = makeLoadingSelector(['(.*)categories(.*)']);
return {
loading: loadingSelector(state),
categories: indexToArray(state.spotify.categories),
};
};
const mapDispatchToProps = (dispatch) => ({
uiActions: bindActionCreators(uiActions, dispatch),

View File

@ -127,7 +127,7 @@ class DiscoverCategory extends React.Component {
const mapStateToProps = (state, ownProps) => {
const uri = decodeURIComponent(ownProps.match.params.uri);
const loadingSelector = makeLoadingSelector([`(.*)${uri}(.*)`]);
const loadingSelector = makeLoadingSelector([`spotify_category_${uri}`]);
const categorySelector = makeItemSelector(uri);
const category = categorySelector(state);
let playlists = null;