Fixed: List Exclusions, List Processing Tweaks

This commit is contained in:
Qstick
2019-07-05 22:26:16 -04:00
parent ed0e69de53
commit 06b1c03053
23 changed files with 834 additions and 42 deletions

View File

@@ -5,6 +5,7 @@ import { createSelector } from 'reselect';
import parseUrl from 'Utilities/String/parseUrl';
import { lookupMovie, clearAddMovie } from 'Store/Actions/addMovieActions';
import { fetchRootFolders } from 'Store/Actions/rootFolderActions';
import { fetchNetImportExclusions } from 'Store/Actions/Settings/netImportExclusions';
import AddNewMovie from './AddNewMovie';
function createMapStateToProps() {
@@ -25,7 +26,8 @@ function createMapStateToProps() {
const mapDispatchToProps = {
lookupMovie,
clearAddMovie,
fetchRootFolders
fetchRootFolders,
fetchNetImportExclusions
};
class AddNewMovieConnector extends Component {
@@ -41,6 +43,7 @@ class AddNewMovieConnector extends Component {
componentDidMount() {
this.props.fetchRootFolders();
this.props.fetchNetImportExclusions();
}
componentWillUnmount() {
@@ -96,7 +99,8 @@ AddNewMovieConnector.propTypes = {
term: PropTypes.string,
lookupMovie: PropTypes.func.isRequired,
clearAddMovie: PropTypes.func.isRequired,
fetchRootFolders: PropTypes.func.isRequired
fetchRootFolders: PropTypes.func.isRequired,
fetchNetImportExclusions: PropTypes.func.isRequired
};
export default connect(createMapStateToProps, mapDispatchToProps)(AddNewMovieConnector);

View File

@@ -35,6 +35,11 @@
color: #37bc9b;
}
.exclusionIcon {
margin-left: 10px;
color: #bc3737;
}
.overview {
margin-top: 20px;
}

View File

@@ -24,7 +24,7 @@ class AddNewMovieSearchResult extends Component {
componentDidUpdate(prevProps) {
if (!prevProps.isExistingMovie && this.props.isExistingMovie) {
this.onAddSerisModalClose();
this.onAddMovieModalClose();
}
}
@@ -35,7 +35,7 @@ class AddNewMovieSearchResult extends Component {
this.setState({ isNewAddMovieModalOpen: true });
}
onAddSerisModalClose = () => {
onAddMovieModalClose = () => {
this.setState({ isNewAddMovieModalOpen: false });
}
@@ -54,6 +54,7 @@ class AddNewMovieSearchResult extends Component {
ratings,
images,
isExistingMovie,
isExclusionMovie,
isSmallScreen
} = this.props;
const {
@@ -97,6 +98,16 @@ class AddNewMovieSearchResult extends Component {
title="Already in your library"
/>
}
{
isExclusionMovie &&
<Icon
className={styles.exclusionIcon}
name={icons.DANGER}
size={36}
title="Movie is on Net Import Exclusion List"
/>
}
</div>
<div>
@@ -138,7 +149,7 @@ class AddNewMovieSearchResult extends Component {
year={year}
overview={overview}
images={images}
onModalClose={this.onAddSerisModalClose}
onModalClose={this.onAddMovieModalClose}
/>
</div>
);
@@ -156,6 +167,7 @@ AddNewMovieSearchResult.propTypes = {
ratings: PropTypes.object.isRequired,
images: PropTypes.arrayOf(PropTypes.object).isRequired,
isExistingMovie: PropTypes.bool.isRequired,
isExclusionMovie: PropTypes.bool.isRequired,
isSmallScreen: PropTypes.bool.isRequired
};

View File

@@ -1,16 +1,19 @@
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import createExistingMovieSelector from 'Store/Selectors/createExistingMovieSelector';
import createExclusionMovieSelector from 'Store/Selectors/createExclusionMovieSelector';
import createDimensionsSelector from 'Store/Selectors/createDimensionsSelector';
import AddNewMovieSearchResult from './AddNewMovieSearchResult';
function createMapStateToProps() {
return createSelector(
createExistingMovieSelector(),
createExclusionMovieSelector(),
createDimensionsSelector(),
(isExistingMovie, dimensions) => {
(isExistingMovie, isExclusionMovie, dimensions) => {
return {
isExistingMovie,
isExclusionMovie,
isSmallScreen: dimensions.isSmallScreen
};
}