You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.0 KiB
29 lines
1.0 KiB
/* eslint max-params: 0 */
|
|
import { connect } from 'react-redux';
|
|
import { createSelector } from 'reselect';
|
|
import createArtistSelector from 'Store/Selectors/createArtistSelector';
|
|
import createTrackFileSelector from 'Store/Selectors/createTrackFileSelector';
|
|
import createCommandsSelector from 'Store/Selectors/createCommandsSelector';
|
|
import AlbumRow from './AlbumRow';
|
|
|
|
function createMapStateToProps() {
|
|
return createSelector(
|
|
(state, { id }) => id,
|
|
(state, { sceneSeasonNumber }) => sceneSeasonNumber,
|
|
createArtistSelector(),
|
|
createTrackFileSelector(),
|
|
createCommandsSelector(),
|
|
(id, sceneSeasonNumber, artist, trackFile, commands) => {
|
|
const alternateTitles = sceneSeasonNumber ? _.filter(artist.alternateTitles, { sceneSeasonNumber }) : [];
|
|
|
|
return {
|
|
artistMonitored: artist.monitored,
|
|
trackFilePath: trackFile ? trackFile.path : null,
|
|
trackFileRelativePath: trackFile ? trackFile.relativePath : null,
|
|
alternateTitles
|
|
};
|
|
}
|
|
);
|
|
}
|
|
export default connect(createMapStateToProps)(AlbumRow);
|