More UI Cleanup

This commit is contained in:
Qstick 2017-10-07 18:38:31 -04:00
parent 9c88c2006d
commit 1700c471b7
96 changed files with 267 additions and 333 deletions

View file

@ -146,7 +146,7 @@ class AddNewArtist extends Component {
<div className={styles.noResults}>Couldn't find any results for '{term}'</div>
<div>You can also search using MusicBrainz ID of a show. eg. lidarr:71663</div>
<div>
<Link to="https://github.com/Sonarr/Sonarr/wiki/FAQ#why-cant-i-add-a-new-series-when-i-know-the-tvdb-id">
<Link to="https://github.com/Lidarr/Lidarr/wiki/FAQ#why-cant-i-add-a-new-artist-when-i-know-the-tvdb-id">
Why can't I find my artist?
</Link>
</div>

View file

@ -15,7 +15,6 @@ import ModalFooter from 'Components/Modal/ModalFooter';
import Popover from 'Components/Tooltip/Popover';
import ArtistPoster from 'Artist/ArtistPoster';
import ArtistMonitoringOptionsPopoverContent from 'AddArtist/ArtistMonitoringOptionsPopoverContent';
// import SeriesTypePopoverContent from 'AddArtist/SeriesTypePopoverContent';
import styles from './AddNewArtistModalContent.css';
class AddNewArtistModalContent extends Component {

View file

@ -116,7 +116,7 @@ class ImportArtist extends Component {
{
!rootFoldersError && rootFoldersPopulated && !unmappedFolders.length &&
<div>
All series in {path} have been imported
All artist in {path} have been imported
</div>
}

View file

@ -23,15 +23,13 @@ class ImportArtistFooter extends Component {
defaultMonitor,
defaultQualityProfileId,
defaultLanguageProfileId,
defaultAlbumFolder,
defaultSeriesType
defaultAlbumFolder
} = props;
this.state = {
monitor: defaultMonitor,
qualityProfileId: defaultQualityProfileId,
languageProfileId: defaultLanguageProfileId,
seriesType: defaultSeriesType,
albumFolder: defaultAlbumFolder
};
}
@ -41,12 +39,10 @@ class ImportArtistFooter extends Component {
defaultMonitor,
defaultQualityProfileId,
defaultLanguageProfileId,
// defaultSeriesType,
defaultAlbumFolder,
isMonitorMixed,
isQualityProfileIdMixed,
isLanguageProfileIdMixed,
// isSeriesTypeMixed,
isAlbumFolderMixed
} = this.props;
@ -54,7 +50,6 @@ class ImportArtistFooter extends Component {
monitor,
qualityProfileId,
languageProfileId,
// seriesType,
albumFolder
} = this.state;
@ -108,7 +103,6 @@ class ImportArtistFooter extends Component {
isMonitorMixed,
isQualityProfileIdMixed,
isLanguageProfileIdMixed,
// isSeriesTypeMixed,
showLanguageProfile,
onImportPress
} = this.props;
@ -117,7 +111,6 @@ class ImportArtistFooter extends Component {
monitor,
qualityProfileId,
languageProfileId,
// seriesType,
albumFolder
} = this.state;
@ -227,12 +220,10 @@ ImportArtistFooter.propTypes = {
defaultMonitor: PropTypes.string.isRequired,
defaultQualityProfileId: PropTypes.number,
defaultLanguageProfileId: PropTypes.number,
defaultSeriesType: PropTypes.string.isRequired,
defaultAlbumFolder: PropTypes.bool.isRequired,
isMonitorMixed: PropTypes.bool.isRequired,
isQualityProfileIdMixed: PropTypes.bool.isRequired,
isLanguageProfileIdMixed: PropTypes.bool.isRequired,
// isSeriesTypeMixed: PropTypes.bool.isRequired,
isAlbumFolderMixed: PropTypes.bool.isRequired,
showLanguageProfile: PropTypes.bool.isRequired,
onInputChange: PropTypes.func.isRequired,

View file

@ -4,8 +4,8 @@ import { createSelector } from 'reselect';
import ImportArtistFooter from './ImportArtistFooter';
function isMixed(items, selectedIds, defaultValue, key) {
return _.some(items, (series) => {
return selectedIds.indexOf(series.id) > -1 && series[key] !== defaultValue;
return _.some(items, (artist) => {
return selectedIds.indexOf(artist.id) > -1 && artist[key] !== defaultValue;
});
}
@ -19,20 +19,18 @@ function createMapStateToProps() {
monitor: defaultMonitor,
qualityProfileId: defaultQualityProfileId,
languageProfileId: defaultLanguageProfileId,
seriesType: defaultSeriesType,
albumFolder: defaultAlbumFolder
} = addArtist.defaults;
const items = importArtist.items;
const isLookingUpArtist = _.some(importArtist.items, (series) => {
return !series.isPopulated && series.error == null;
const isLookingUpArtist = _.some(importArtist.items, (artist) => {
return !artist.isPopulated && artist.error == null;
});
const isMonitorMixed = isMixed(items, selectedIds, defaultMonitor, 'monitor');
const isQualityProfileIdMixed = isMixed(items, selectedIds, defaultQualityProfileId, 'qualityProfileId');
const isLanguageProfileIdMixed = isMixed(items, selectedIds, defaultLanguageProfileId, 'languageProfileId');
const isSeriesTypeMixed = isMixed(items, selectedIds, defaultSeriesType, 'seriesType');
const isAlbumFolderMixed = isMixed(items, selectedIds, defaultAlbumFolder, 'albumFolder');
return {
@ -42,12 +40,10 @@ function createMapStateToProps() {
defaultMonitor,
defaultQualityProfileId,
defaultLanguageProfileId,
defaultSeriesType,
defaultAlbumFolder,
isMonitorMixed,
isQualityProfileIdMixed,
isLanguageProfileIdMixed,
isSeriesTypeMixed,
isAlbumFolderMixed
};
}

View file

@ -19,13 +19,6 @@
min-width: 170px;
}
.seriesType {
composes: headerCell from 'Components/Table/VirtualTableHeaderCell.css';
flex: 0 1 200px;
min-width: 120px;
}
.albumFolder {
composes: headerCell from 'Components/Table/VirtualTableHeaderCell.css';

View file

@ -78,7 +78,7 @@ function ImportArtistHeader(props) {
<VirtualTableHeaderCell
className={styles.artist}
name="series"
name="artist"
>
Artist
</VirtualTableHeaderCell>

View file

@ -24,13 +24,6 @@
min-width: 170px;
}
.seriesType {
composes: cell from 'Components/Table/Cells/VirtualTableRowCell.css';
flex: 0 1 200px;
min-width: 120px;
}
.albumFolder {
composes: cell from 'Components/Table/Cells/VirtualTableRowCell.css';
@ -38,7 +31,7 @@
min-width: 120px;
}
.series {
.artist {
composes: cell from 'Components/Table/Cells/VirtualTableRowCell.css';
flex: 0 1 400px;

View file

@ -16,7 +16,6 @@ function ImportArtistRow(props) {
qualityProfileId,
languageProfileId,
albumFolder,
// seriesType,
selectedArtist,
isExistingArtist,
showLanguageProfile,
@ -77,7 +76,7 @@ function ImportArtistRow(props) {
/>
</VirtualTableRowCell>
<VirtualTableRowCell className={styles.series}>
<VirtualTableRowCell className={styles.artist}>
<ImportArtistSelectArtistConnector
id={id}
isExistingArtist={isExistingArtist}
@ -93,7 +92,6 @@ ImportArtistRow.propTypes = {
monitor: PropTypes.string.isRequired,
qualityProfileId: PropTypes.number.isRequired,
languageProfileId: PropTypes.number.isRequired,
// seriesType: PropTypes.string.isRequired,
albumFolder: PropTypes.bool.isRequired,
selectedArtist: PropTypes.object,
isExistingArtist: PropTypes.bool.isRequired,

View file

@ -21,9 +21,9 @@ function createMapStateToProps() {
return createSelector(
createImportArtistItemSelector(),
createAllArtistSelector(),
(item, series) => {
(item, artist) => {
const selectedArtist = item && item.selectedArtist;
const isExistingArtist = !!selectedArtist && _.some(series, { foreignArtistId: selectedArtist.foreignArtistId });
const isExistingArtist = !!selectedArtist && _.some(artist, { foreignArtistId: selectedArtist.foreignArtistId });
return {
...item,
@ -59,7 +59,6 @@ class ImportArtistRowConnector extends Component {
const {
items,
monitor,
// seriesType,
albumFolder
} = this.props;
@ -81,7 +80,6 @@ ImportArtistRowConnector.propTypes = {
rootFolderId: PropTypes.number.isRequired,
id: PropTypes.string.isRequired,
monitor: PropTypes.string,
// seriesType: PropTypes.string,
albumFolder: PropTypes.bool,
items: PropTypes.arrayOf(PropTypes.object),
queueLookupArtist: PropTypes.func.isRequired,

View file

@ -22,9 +22,8 @@ class ImportArtistTable extends Component {
defaultMonitor,
defaultQualityProfileId,
defaultLanguageProfileId,
defaultSeriesType,
defaultAlbumFolder,
onSeriesLookup,
onArtistLookup,
onSetImportArtistValue
} = this.props;
@ -32,14 +31,13 @@ class ImportArtistTable extends Component {
monitor: defaultMonitor,
qualityProfileId: defaultQualityProfileId,
languageProfileId: defaultLanguageProfileId,
seriesType: defaultSeriesType,
albumFolder: defaultAlbumFolder
};
unmappedFolders.forEach((unmappedFolder) => {
const id = unmappedFolder.name;
onSeriesLookup(id, unmappedFolder.path);
onArtistLookup(id, unmappedFolder.path);
onSetImportArtistValue({
id,
@ -192,7 +190,6 @@ ImportArtistTable.propTypes = {
defaultMonitor: PropTypes.string.isRequired,
defaultQualityProfileId: PropTypes.number,
defaultLanguageProfileId: PropTypes.number,
defaultSeriesType: PropTypes.string.isRequired,
defaultAlbumFolder: PropTypes.bool.isRequired,
allSelected: PropTypes.bool.isRequired,
allUnselected: PropTypes.bool.isRequired,
@ -205,7 +202,7 @@ ImportArtistTable.propTypes = {
onSelectAllChange: PropTypes.func.isRequired,
onSelectedChange: PropTypes.func.isRequired,
onRemoveSelectedStateItem: PropTypes.func.isRequired,
onSeriesLookup: PropTypes.func.isRequired,
onArtistLookup: PropTypes.func.isRequired,
onSetImportArtistValue: PropTypes.func.isRequired,
onScroll: PropTypes.func.isRequired
};

View file

@ -15,7 +15,6 @@ function createMapStateToProps() {
defaultMonitor: addArtist.defaults.monitor,
defaultQualityProfileId: addArtist.defaults.qualityProfileId,
defaultLanguageProfileId: addArtist.defaults.languageProfileId,
defaultSeriesType: addArtist.defaults.seriesType,
defaultAlbumFolder: addArtist.defaults.albumFolder,
items: importArtist.items,
isSmallScreen: dimensions.isSmallScreen,
@ -27,7 +26,7 @@ function createMapStateToProps() {
function createMapDispatchToProps(dispatch, props) {
return {
onSeriesLookup(name, path) {
onArtistLookup(name, path) {
dispatch(queueLookupArtist({
name,
path,