1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-10-02 14:17:19 +02:00

Refactor movie alternative titles connector

This commit is contained in:
Bogdan 2023-12-17 19:57:22 +02:00
parent 22cc34b4fe
commit 8554c0d9cb

View File

@ -6,31 +6,43 @@ import MovieTitlesTableContent from './MovieTitlesTableContent';
function createMapStateToProps() { function createMapStateToProps() {
return createSelector( return createSelector(
(state, { movieId }) => movieId,
(state) => state.movies, (state) => state.movies,
(movies) => { (movieId, movies) => {
return movies; const {
isFetching,
isPopulated,
error,
items
} = movies;
const alternateTitles = items.find((m) => m.id === movieId)?.alternateTitles;
return {
isFetching,
isPopulated,
error,
alternateTitles
};
} }
); );
} }
const mapDispatchToProps = {
// fetchMovies
};
class MovieTitlesTableContentConnector extends Component { class MovieTitlesTableContentConnector extends Component {
// //
// Render // Render
render() { render() {
const movie = this.props.items.filter((obj) => { const {
return obj.id === this.props.movieId; alternateTitles,
}); ...otherProps
} = this.props;
return ( return (
<MovieTitlesTableContent <MovieTitlesTableContent
{...this.props} {...otherProps}
items={movie[0].alternateTitles} items={alternateTitles}
/> />
); );
} }
@ -38,7 +50,11 @@ class MovieTitlesTableContentConnector extends Component {
MovieTitlesTableContentConnector.propTypes = { MovieTitlesTableContentConnector.propTypes = {
movieId: PropTypes.number.isRequired, movieId: PropTypes.number.isRequired,
items: PropTypes.arrayOf(PropTypes.object).isRequired alternateTitles: PropTypes.arrayOf(PropTypes.object).isRequired
}; };
export default connect(createMapStateToProps, mapDispatchToProps)(MovieTitlesTableContentConnector); MovieTitlesTableContentConnector.defaultProps = {
alternateTitles: []
};
export default connect(createMapStateToProps)(MovieTitlesTableContentConnector);