Lidarr/frontend/src/Artist/Index/ArtistIndexFooterConnector.js

47 lines
1.0 KiB
JavaScript

import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector';
import createDeepEqualSelector from 'Store/Selectors/createDeepEqualSelector';
import ArtistIndexFooter from './ArtistIndexFooter';
function createUnoptimizedSelector() {
return createSelector(
createClientSideCollectionSelector('artist', 'artistIndex'),
(artist) => {
return artist.items.map((s) => {
const {
monitored,
status,
statistics
} = s;
return {
monitored,
status,
statistics
};
});
}
);
}
function createArtistSelector() {
return createDeepEqualSelector(
createUnoptimizedSelector(),
(artist) => artist
);
}
function createMapStateToProps() {
return createSelector(
createArtistSelector(),
(artist) => {
return {
artist
};
}
);
}
export default connect(createMapStateToProps)(ArtistIndexFooter);