diff --git a/frontend/src/Search/Album/AddNewAlbumModalContent.js b/frontend/src/Search/Album/AddNewAlbumModalContent.js
index 5c2c70135..2e461a5a0 100644
--- a/frontend/src/Search/Album/AddNewAlbumModalContent.js
+++ b/frontend/src/Search/Album/AddNewAlbumModalContent.js
@@ -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 {
}
@@ -115,15 +103,15 @@ class AddNewAlbumModalContent extends Component {
@@ -133,7 +121,7 @@ class AddNewAlbumModalContent extends Component {
isSpinning={isAdding}
onPress={this.onAddAlbumPress}
>
- Add {albumTitle}
+ {translate('AddAlbumWithTitle', { albumTitle })}
@@ -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
};
diff --git a/frontend/src/Search/Album/AddNewAlbumModalContentConnector.js b/frontend/src/Search/Album/AddNewAlbumModalContentConnector.js
index dd7c03cab..e315b49cd 100644
--- a/frontend/src/Search/Album/AddNewAlbumModalContentConnector.js
+++ b/frontend/src/Search/Album/AddNewAlbumModalContentConnector.js
@@ -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,
diff --git a/frontend/src/Search/Artist/AddNewArtistModalContent.js b/frontend/src/Search/Artist/AddNewArtistModalContent.js
index 83e7898ed..9719985f6 100644
--- a/frontend/src/Search/Artist/AddNewArtistModalContent.js
+++ b/frontend/src/Search/Artist/AddNewArtistModalContent.js
@@ -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 {
@@ -106,15 +94,15 @@ class AddNewArtistModalContent extends Component {
@@ -124,7 +112,7 @@ class AddNewArtistModalContent extends Component {
isSpinning={isAdding}
onPress={this.onAddArtistPress}
>
- Add {artistName}
+ {translate('AddArtistWithName', { artistName })}
@@ -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
};
diff --git a/frontend/src/Search/Artist/AddNewArtistModalContentConnector.js b/frontend/src/Search/Artist/AddNewArtistModalContentConnector.js
index 1b50869e5..a33c4bbf7 100644
--- a/frontend/src/Search/Artist/AddNewArtistModalContentConnector.js
+++ b/frontend/src/Search/Artist/AddNewArtistModalContentConnector.js
@@ -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,
diff --git a/frontend/src/Store/Actions/searchActions.js b/frontend/src/Store/Actions/searchActions.js
index c72cdc901..c2af6f47b 100644
--- a/frontend/src/Store/Actions/searchActions.js
+++ b/frontend/src/Store/Actions/searchActions.js
@@ -36,6 +36,8 @@ export const defaultState = {
monitorNewItems: monitorNewItemsOptions[0].key,
qualityProfileId: 0,
metadataProfileId: 0,
+ searchForMissingAlbums: false,
+ searchForNewAlbum: false,
tags: []
}
};
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index aaf14ceb3..231723105 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -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",