diff --git a/frontend/src/Components/Page/PageConnector.js b/frontend/src/Components/Page/PageConnector.js index 664a48d3c..a75370d12 100644 --- a/frontend/src/Components/Page/PageConnector.js +++ b/frontend/src/Components/Page/PageConnector.js @@ -8,7 +8,7 @@ import { saveDimensions, setIsSidebarVisible } from 'Store/Actions/appActions'; import { fetchCustomFilters } from 'Store/Actions/customFilterActions'; import { fetchMovies } from 'Store/Actions/movieActions'; import { fetchTags } from 'Store/Actions/tagActions'; -import { fetchQualityProfiles, fetchUISettings, fetchLanguages } from 'Store/Actions/settingsActions'; +import { fetchQualityProfiles, fetchUISettings, fetchLanguages, fetchNetImports } from 'Store/Actions/settingsActions'; import { fetchStatus } from 'Store/Actions/systemActions'; import ErrorPage from './ErrorPage'; import LoadingPage from './LoadingPage'; @@ -48,6 +48,7 @@ const selectIsPopulated = createSelector( (state) => state.settings.ui.isPopulated, (state) => state.settings.qualityProfiles.isPopulated, (state) => state.settings.languages.isPopulated, + (state) => state.settings.netImports.isPopulated, (state) => state.system.status.isPopulated, ( customFiltersIsPopulated, @@ -55,6 +56,7 @@ const selectIsPopulated = createSelector( uiSettingsIsPopulated, qualityProfilesIsPopulated, languagesIsPopulated, + netImportsIsPopulated, systemStatusIsPopulated ) => { return ( @@ -63,6 +65,7 @@ const selectIsPopulated = createSelector( uiSettingsIsPopulated && qualityProfilesIsPopulated && languagesIsPopulated && + netImportsIsPopulated && systemStatusIsPopulated ); } @@ -74,6 +77,7 @@ const selectErrors = createSelector( (state) => state.settings.ui.error, (state) => state.settings.qualityProfiles.error, (state) => state.settings.languages.error, + (state) => state.settings.netImports.error, (state) => state.system.status.error, ( customFiltersError, @@ -81,6 +85,7 @@ const selectErrors = createSelector( uiSettingsError, qualityProfilesError, languagesError, + netImportsError, systemStatusError ) => { const hasError = !!( @@ -89,6 +94,7 @@ const selectErrors = createSelector( uiSettingsError || qualityProfilesError || languagesError || + netImportsError || systemStatusError ); @@ -99,6 +105,7 @@ const selectErrors = createSelector( uiSettingsError, qualityProfilesError, languagesError, + netImportsError, systemStatusError }; } @@ -146,6 +153,9 @@ function createMapDispatchToProps(dispatch, props) { dispatchFetchLanguages() { dispatch(fetchLanguages()); }, + dispatchFetchNetImports() { + dispatch(fetchNetImports()); + }, dispatchFetchUISettings() { dispatch(fetchUISettings()); }, @@ -181,6 +191,7 @@ class PageConnector extends Component { this.props.dispatchFetchTags(); this.props.dispatchFetchQualityProfiles(); this.props.dispatchFetchLanguages(); + this.props.dispatchFetchNetImports(); this.props.dispatchFetchUISettings(); this.props.dispatchFetchStatus(); } @@ -204,6 +215,7 @@ class PageConnector extends Component { dispatchFetchTags, dispatchFetchQualityProfiles, dispatchFetchLanguages, + dispatchFetchNetImports, dispatchFetchUISettings, dispatchFetchStatus, ...otherProps @@ -242,6 +254,7 @@ PageConnector.propTypes = { dispatchFetchTags: PropTypes.func.isRequired, dispatchFetchQualityProfiles: PropTypes.func.isRequired, dispatchFetchLanguages: PropTypes.func.isRequired, + dispatchFetchNetImports: PropTypes.func.isRequired, dispatchFetchUISettings: PropTypes.func.isRequired, dispatchFetchStatus: PropTypes.func.isRequired, onSidebarVisibleChange: PropTypes.func.isRequired diff --git a/frontend/src/Movie/Details/Cast/MovieCastPostersConnector.js b/frontend/src/Movie/Details/Cast/MovieCastPostersConnector.js deleted file mode 100644 index 5311bedbe..000000000 --- a/frontend/src/Movie/Details/Cast/MovieCastPostersConnector.js +++ /dev/null @@ -1,25 +0,0 @@ -import _ from 'lodash'; -import { connect } from 'react-redux'; -import { createSelector } from 'reselect'; -import MovieCastPosters from './MovieCastPosters'; - -function createMapStateToProps() { - return createSelector( - (state) => state.moviePeople.items, - (people) => { - const cast = _.reduce(people, (acc, person) => { - if (person.type === 'cast') { - acc.push(person); - } - - return acc; - }, []); - - return { - cast - }; - } - ); -} - -export default connect(createMapStateToProps)(MovieCastPosters); diff --git a/frontend/src/Movie/Details/Cast/MovieCastPoster.js b/frontend/src/Movie/Details/Credits/Cast/MovieCastPoster.js similarity index 56% rename from frontend/src/Movie/Details/Cast/MovieCastPoster.js rename to frontend/src/Movie/Details/Credits/Cast/MovieCastPoster.js index 5237a72a4..d31da7e9b 100644 --- a/frontend/src/Movie/Details/Cast/MovieCastPoster.js +++ b/frontend/src/Movie/Details/Credits/Cast/MovieCastPoster.js @@ -4,7 +4,8 @@ import { icons } from 'Helpers/Props'; import IconButton from 'Components/Link/IconButton'; import Label from 'Components/Label'; import MovieHeadshot from 'Movie/MovieHeadshot'; -import styles from './MovieCastPoster.css'; +import EditNetImportModalConnector from 'Settings/NetImport/NetImport/EditNetImportModalConnector'; +import styles from '../MovieCreditPoster.css'; class MovieCastPoster extends Component { @@ -16,19 +17,24 @@ class MovieCastPoster extends Component { this.state = { hasPosterError: false, - isEditMovieModalOpen: false + isEditNetImportModalOpen: false }; } // // Listeners - onEditMoviePress = () => { - this.setState({ isEditMovieModalOpen: true }); + onEditNetImportPress = () => { + this.setState({ isEditNetImportModalOpen: true }); } - onEditMovieModalClose = () => { - this.setState({ isEditMovieModalOpen: false }); + onAddNetImportPress = () => { + this.props.onNetImportSelect(); + this.setState({ isEditNetImportModalOpen: true }); + } + + onEditNetImportModalClose = () => { + this.setState({ isEditNetImportModalOpen: false }); } onPosterLoad = () => { @@ -48,11 +54,12 @@ class MovieCastPoster extends Component { render() { const { - castName, + personName, character, images, posterWidth, - posterHeight + posterHeight, + netImportId } = this.props; const { @@ -68,12 +75,21 @@ class MovieCastPoster extends Component {