mirror of https://github.com/lidarr/Lidarr
New: Persist search settings in add new artist and album
(cherry picked from commit fc3bea370facb22fd1b2f3cc264bf5d0a84f30e1) Closes #1967
This commit is contained in:
parent
b12adacd6b
commit
651abf9faa
|
@ -15,26 +15,11 @@ import styles from './AddNewAlbumModalContent.css';
|
|||
|
||||
class AddNewAlbumModalContent extends Component {
|
||||
|
||||
//
|
||||
// Lifecycle
|
||||
|
||||
constructor(props, context) {
|
||||
super(props, context);
|
||||
|
||||
this.state = {
|
||||
searchForNewAlbum: false
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
// Listeners
|
||||
|
||||
onSearchForNewAlbumChange = ({ value }) => {
|
||||
this.setState({ searchForNewAlbum: value });
|
||||
};
|
||||
|
||||
onAddAlbumPress = () => {
|
||||
this.props.onAddAlbumPress(this.state.searchForNewAlbum);
|
||||
this.props.onAddAlbumPress();
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -47,10 +32,12 @@ class AddNewAlbumModalContent extends Component {
|
|||
disambiguation,
|
||||
overview,
|
||||
images,
|
||||
searchForNewAlbum,
|
||||
isAdding,
|
||||
isExistingArtist,
|
||||
isSmallScreen,
|
||||
onModalClose,
|
||||
onInputChange,
|
||||
...otherProps
|
||||
} = this.props;
|
||||
|
||||
|
@ -105,6 +92,7 @@ class AddNewAlbumModalContent extends Component {
|
|||
<AddArtistOptionsForm
|
||||
artistName={artistName}
|
||||
includeNoneMetadataProfile={true}
|
||||
onInputChange={onInputChange}
|
||||
{...otherProps}
|
||||
/>
|
||||
}
|
||||
|
@ -115,15 +103,15 @@ class AddNewAlbumModalContent extends Component {
|
|||
<ModalFooter className={styles.modalFooter}>
|
||||
<label className={styles.searchForNewAlbumLabelContainer}>
|
||||
<span className={styles.searchForNewAlbumLabel}>
|
||||
Start search for new album
|
||||
{translate('AddNewAlbumSearchForNewAlbum')}
|
||||
</span>
|
||||
|
||||
<CheckInput
|
||||
containerClassName={styles.searchForNewAlbumContainer}
|
||||
className={styles.searchForNewAlbumInput}
|
||||
name="searchForNewAlbum"
|
||||
value={this.state.searchForNewAlbum}
|
||||
onChange={this.onSearchForNewAlbumChange}
|
||||
onChange={onInputChange}
|
||||
{...searchForNewAlbum}
|
||||
/>
|
||||
</label>
|
||||
|
||||
|
@ -133,7 +121,7 @@ class AddNewAlbumModalContent extends Component {
|
|||
isSpinning={isAdding}
|
||||
onPress={this.onAddAlbumPress}
|
||||
>
|
||||
Add {albumTitle}
|
||||
{translate('AddAlbumWithTitle', { albumTitle })}
|
||||
</SpinnerButton>
|
||||
</ModalFooter>
|
||||
</ModalContent>
|
||||
|
@ -149,9 +137,11 @@ AddNewAlbumModalContent.propTypes = {
|
|||
images: PropTypes.arrayOf(PropTypes.object).isRequired,
|
||||
isAdding: PropTypes.bool.isRequired,
|
||||
addError: PropTypes.object,
|
||||
searchForNewAlbum: PropTypes.object.isRequired,
|
||||
isExistingArtist: PropTypes.bool.isRequired,
|
||||
isSmallScreen: PropTypes.bool.isRequired,
|
||||
onModalClose: PropTypes.func.isRequired,
|
||||
onInputChange: PropTypes.func.isRequired,
|
||||
onAddAlbumPress: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ class AddNewAlbumModalContentConnector extends Component {
|
|||
this.props.setAddDefault({ [name]: value });
|
||||
};
|
||||
|
||||
onAddAlbumPress = (searchForNewAlbum) => {
|
||||
onAddAlbumPress = () => {
|
||||
const {
|
||||
foreignAlbumId,
|
||||
rootFolderPath,
|
||||
|
@ -91,6 +91,7 @@ class AddNewAlbumModalContentConnector extends Component {
|
|||
monitorNewItems,
|
||||
qualityProfileId,
|
||||
metadataProfileId,
|
||||
searchForNewAlbum,
|
||||
tags
|
||||
} = this.props;
|
||||
|
||||
|
@ -101,8 +102,8 @@ class AddNewAlbumModalContentConnector extends Component {
|
|||
monitorNewItems: monitorNewItems.value,
|
||||
qualityProfileId: qualityProfileId.value,
|
||||
metadataProfileId: metadataProfileId.value,
|
||||
tags: tags.value,
|
||||
searchForNewAlbum
|
||||
searchForNewAlbum: searchForNewAlbum.value,
|
||||
tags: tags.value
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -129,6 +130,7 @@ AddNewAlbumModalContentConnector.propTypes = {
|
|||
qualityProfileId: PropTypes.object,
|
||||
metadataProfileId: PropTypes.object,
|
||||
noneMetadataProfileId: PropTypes.number.isRequired,
|
||||
searchForNewAlbum: PropTypes.object.isRequired,
|
||||
tags: PropTypes.object.isRequired,
|
||||
onModalClose: PropTypes.func.isRequired,
|
||||
setAddDefault: PropTypes.func.isRequired,
|
||||
|
|
|
@ -15,26 +15,11 @@ import styles from './AddNewArtistModalContent.css';
|
|||
|
||||
class AddNewArtistModalContent extends Component {
|
||||
|
||||
//
|
||||
// Lifecycle
|
||||
|
||||
constructor(props, context) {
|
||||
super(props, context);
|
||||
|
||||
this.state = {
|
||||
searchForMissingAlbums: false
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
// Listeners
|
||||
|
||||
onSearchForMissingAlbumsChange = ({ value }) => {
|
||||
this.setState({ searchForMissingAlbums: value });
|
||||
};
|
||||
|
||||
onAddArtistPress = () => {
|
||||
this.props.onAddArtistPress(this.state.searchForMissingAlbums);
|
||||
this.props.onAddArtistPress();
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -46,9 +31,11 @@ class AddNewArtistModalContent extends Component {
|
|||
disambiguation,
|
||||
overview,
|
||||
images,
|
||||
searchForMissingAlbums,
|
||||
isAdding,
|
||||
isSmallScreen,
|
||||
onModalClose,
|
||||
onInputChange,
|
||||
...otherProps
|
||||
} = this.props;
|
||||
|
||||
|
@ -96,6 +83,7 @@ class AddNewArtistModalContent extends Component {
|
|||
|
||||
<AddArtistOptionsForm
|
||||
includeNoneMetadataProfile={false}
|
||||
onInputChange={onInputChange}
|
||||
{...otherProps}
|
||||
/>
|
||||
|
||||
|
@ -106,15 +94,15 @@ class AddNewArtistModalContent extends Component {
|
|||
<ModalFooter className={styles.modalFooter}>
|
||||
<label className={styles.searchForMissingAlbumsLabelContainer}>
|
||||
<span className={styles.searchForMissingAlbumsLabel}>
|
||||
Start search for missing albums
|
||||
{translate('AddNewArtistSearchForMissingAlbums')}
|
||||
</span>
|
||||
|
||||
<CheckInput
|
||||
containerClassName={styles.searchForMissingAlbumsContainer}
|
||||
className={styles.searchForMissingAlbumsInput}
|
||||
name="searchForMissingAlbums"
|
||||
value={this.state.searchForMissingAlbums}
|
||||
onChange={this.onSearchForMissingAlbumsChange}
|
||||
onChange={onInputChange}
|
||||
{...searchForMissingAlbums}
|
||||
/>
|
||||
</label>
|
||||
|
||||
|
@ -124,7 +112,7 @@ class AddNewArtistModalContent extends Component {
|
|||
isSpinning={isAdding}
|
||||
onPress={this.onAddArtistPress}
|
||||
>
|
||||
Add {artistName}
|
||||
{translate('AddArtistWithName', { artistName })}
|
||||
</SpinnerButton>
|
||||
</ModalFooter>
|
||||
</ModalContent>
|
||||
|
@ -139,9 +127,11 @@ AddNewArtistModalContent.propTypes = {
|
|||
images: PropTypes.arrayOf(PropTypes.object).isRequired,
|
||||
isAdding: PropTypes.bool.isRequired,
|
||||
addError: PropTypes.object,
|
||||
searchForMissingAlbums: PropTypes.object.isRequired,
|
||||
isSmallScreen: PropTypes.bool.isRequired,
|
||||
isWindows: PropTypes.bool.isRequired,
|
||||
onModalClose: PropTypes.func.isRequired,
|
||||
onInputChange: PropTypes.func.isRequired,
|
||||
onAddArtistPress: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ class AddNewArtistModalContentConnector extends Component {
|
|||
this.props.setAddDefault({ [name]: value });
|
||||
};
|
||||
|
||||
onAddArtistPress = (searchForMissingAlbums) => {
|
||||
onAddArtistPress = () => {
|
||||
const {
|
||||
foreignArtistId,
|
||||
rootFolderPath,
|
||||
|
@ -63,6 +63,7 @@ class AddNewArtistModalContentConnector extends Component {
|
|||
monitorNewItems,
|
||||
qualityProfileId,
|
||||
metadataProfileId,
|
||||
searchForMissingAlbums,
|
||||
tags
|
||||
} = this.props;
|
||||
|
||||
|
@ -73,8 +74,8 @@ class AddNewArtistModalContentConnector extends Component {
|
|||
monitorNewItems: monitorNewItems.value,
|
||||
qualityProfileId: qualityProfileId.value,
|
||||
metadataProfileId: metadataProfileId.value,
|
||||
tags: tags.value,
|
||||
searchForMissingAlbums
|
||||
searchForMissingAlbums: searchForMissingAlbums.value,
|
||||
tags: tags.value
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -99,6 +100,7 @@ AddNewArtistModalContentConnector.propTypes = {
|
|||
monitorNewItems: PropTypes.object.isRequired,
|
||||
qualityProfileId: PropTypes.object,
|
||||
metadataProfileId: PropTypes.object,
|
||||
searchForMissingAlbums: PropTypes.object.isRequired,
|
||||
tags: PropTypes.object.isRequired,
|
||||
onModalClose: PropTypes.func.isRequired,
|
||||
setAddDefault: PropTypes.func.isRequired,
|
||||
|
|
|
@ -36,6 +36,8 @@ export const defaultState = {
|
|||
monitorNewItems: monitorNewItemsOptions[0].key,
|
||||
qualityProfileId: 0,
|
||||
metadataProfileId: 0,
|
||||
searchForMissingAlbums: false,
|
||||
searchForNewAlbum: false,
|
||||
tags: []
|
||||
}
|
||||
};
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
"Actions": "Actions",
|
||||
"Activity": "Activity",
|
||||
"Add": "Add",
|
||||
"AddAlbumWithTitle": "Add {albumTitle}",
|
||||
"AddArtistWithName": "Add {artistName}",
|
||||
"AddAutoTag": "Add Auto Tag",
|
||||
"AddAutoTagError": "Unable to add a new auto tag, please try again.",
|
||||
"AddCondition": "Add Condition",
|
||||
|
@ -30,8 +32,10 @@
|
|||
"AddMissing": "Add missing",
|
||||
"AddNew": "Add New",
|
||||
"AddNewAlbum": "Add New Album",
|
||||
"AddNewAlbumSearchForNewAlbum": "Start search for new album",
|
||||
"AddNewArtist": "Add New Artist",
|
||||
"AddNewArtistRootFolderHelpText": "'{folder}' subfolder will be created automatically",
|
||||
"AddNewArtistSearchForMissingAlbums": "Start search for missing albums",
|
||||
"AddNewItem": "Add New Item",
|
||||
"AddQualityProfile": "Add Quality Profile",
|
||||
"AddReleaseProfile": "Add Release Profile",
|
||||
|
|
Loading…
Reference in New Issue