[UI Work] Artist Detail Page, Album Studio, Wanted, NavSearch, Rename

This commit is contained in:
Qstick 2017-09-11 23:11:32 -04:00
parent 456ead09da
commit 0054226307
93 changed files with 590 additions and 603 deletions

View file

@ -108,7 +108,7 @@ class CutoffUnmet extends Component {
items,
columns,
totalRecords,
isSearchingForEpisodes,
isSearchingForAlbums,
isSearchingForCutoffUnmetEpisodes,
isSaving,
filterKey,
@ -133,7 +133,7 @@ class CutoffUnmet extends Component {
label="Search Selected"
iconName={icons.SEARCH}
isDisabled={!itemsSelected}
isSpinning={isSearchingForEpisodes}
isSpinning={isSearchingForAlbums}
onPress={this.onSearchSelectedPress}
/>
@ -271,7 +271,7 @@ CutoffUnmet.propTypes = {
items: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
totalRecords: PropTypes.number,
isSearchingForEpisodes: PropTypes.bool.isRequired,
isSearchingForAlbums: PropTypes.bool.isRequired,
isSearchingForCutoffUnmetEpisodes: PropTypes.bool.isRequired,
isSaving: PropTypes.bool.isRequired,
filterKey: PropTypes.string,

View file

@ -18,11 +18,11 @@ function createMapStateToProps() {
(state) => state.wanted.cutoffUnmet,
createCommandsSelector(),
(cutoffUnmet, commands) => {
const isSearchingForEpisodes = _.some(commands, { name: commandNames.EPISODE_SEARCH });
const isSearchingForAlbums = _.some(commands, { name: commandNames.EPISODE_SEARCH });
const isSearchingForCutoffUnmetEpisodes = _.some(commands, { name: commandNames.CUTOFF_UNMET_EPISODE_SEARCH });
return {
isSearchingForEpisodes,
isSearchingForAlbums,
isSearchingForCutoffUnmetEpisodes,
isSaving: _.some(cutoffUnmet.items, { isSaving: true }),
...cutoffUnmet

View file

@ -117,8 +117,8 @@ class Missing extends Component {
items,
columns,
totalRecords,
isSearchingForEpisodes,
isSearchingForMissingEpisodes,
isSearchingForAlbums,
isSearchingForMissingAlbums,
isSaving,
filterKey,
filterValue,
@ -143,7 +143,7 @@ class Missing extends Component {
label="Search Selected"
iconName={icons.SEARCH}
isDisabled={!itemsSelected}
isSpinning={isSearchingForEpisodes}
isSpinning={isSearchingForAlbums}
onPress={this.onSearchSelectedPress}
/>
@ -160,7 +160,7 @@ class Missing extends Component {
<PageToolbarButton
label="Search All"
iconName={icons.SEARCH}
isSpinning={isSearchingForMissingEpisodes}
isSpinning={isSearchingForMissingAlbums}
onPress={this.onSearchAllMissingPress}
/>
@ -258,11 +258,11 @@ class Missing extends Component {
<ConfirmModal
isOpen={isConfirmSearchAllMissingModalOpen}
kind={kinds.DANGER}
title="Search for all missing episodes"
title="Search for all missing albums"
message={
<div>
<div>
Are you sure you want to search for all {totalRecords} missing episodes?
Are you sure you want to search for all {totalRecords} missing albums?
</div>
<div>
This cannot be cancelled once started without restarting Lidarr.
@ -293,8 +293,8 @@ Missing.propTypes = {
items: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
totalRecords: PropTypes.number,
isSearchingForEpisodes: PropTypes.bool.isRequired,
isSearchingForMissingEpisodes: PropTypes.bool.isRequired,
isSearchingForAlbums: PropTypes.bool.isRequired,
isSearchingForMissingAlbums: PropTypes.bool.isRequired,
isSaving: PropTypes.bool.isRequired,
filterKey: PropTypes.string,
filterValue: PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string]),

View file

@ -17,12 +17,12 @@ function createMapStateToProps() {
(state) => state.wanted.missing,
createCommandsSelector(),
(missing, commands) => {
const isSearchingForEpisodes = _.some(commands, { name: commandNames.EPISODE_SEARCH });
const isSearchingForMissingEpisodes = _.some(commands, { name: commandNames.MISSING_EPISODE_SEARCH });
const isSearchingForAlbums = _.some(commands, { name: commandNames.EPISODE_SEARCH });
const isSearchingForMissingAlbums = _.some(commands, { name: commandNames.MISSING_EPISODE_SEARCH });
return {
isSearchingForEpisodes,
isSearchingForMissingEpisodes,
isSearchingForAlbums,
isSearchingForMissingAlbums,
isSaving: _.some(missing.items, { isSaving: true }),
...missing
};

View file

@ -15,15 +15,15 @@ import styles from './MissingRow.css';
function MissingRow(props) {
const {
id,
episodeFileId,
series,
seasonNumber,
episodeNumber,
absoluteEpisodeNumber,
sceneSeasonNumber,
sceneEpisodeNumber,
sceneAbsoluteEpisodeNumber,
airDateUtc,
// episodeFileId,
artist,
// seasonNumber,
// episodeNumber,
// absoluteEpisodeNumber,
// sceneSeasonNumber,
// sceneEpisodeNumber,
// sceneAbsoluteEpisodeNumber,
releaseDate,
title,
isSelected,
columns,
@ -49,42 +49,42 @@ function MissingRow(props) {
return null;
}
if (name === 'series.sortTitle') {
if (name === 'artist.sortName') {
return (
<TableRowCell key={name}>
<ArtistNameLink
titleSlug={series.titleSlug}
title={series.title}
nameSlug={artist.nameSlug}
artistName={artist.artistName}
/>
</TableRowCell>
);
}
if (name === 'episode') {
return (
<TableRowCell
key={name}
className={styles.episode}
>
<SeasonEpisodeNumber
seasonNumber={seasonNumber}
episodeNumber={episodeNumber}
absoluteEpisodeNumber={absoluteEpisodeNumber}
seriesType={series.seriesType}
sceneSeasonNumber={sceneSeasonNumber}
sceneEpisodeNumber={sceneEpisodeNumber}
sceneAbsoluteEpisodeNumber={sceneAbsoluteEpisodeNumber}
/>
</TableRowCell>
);
}
// if (name === 'episode') {
// return (
// <TableRowCell
// key={name}
// className={styles.episode}
// >
// <SeasonEpisodeNumber
// seasonNumber={seasonNumber}
// episodeNumber={episodeNumber}
// absoluteEpisodeNumber={absoluteEpisodeNumber}
// seriesType={series.seriesType}
// sceneSeasonNumber={sceneSeasonNumber}
// sceneEpisodeNumber={sceneEpisodeNumber}
// sceneAbsoluteEpisodeNumber={sceneAbsoluteEpisodeNumber}
// />
// </TableRowCell>
// );
// }
if (name === 'episodeTitle') {
if (name === 'albumTitle') {
return (
<TableRowCell key={name}>
<EpisodeTitleLink
episodeId={id}
artistId={series.id}
artistId={artist.id}
episodeEntity={episodeEntities.WANTED_MISSING}
episodeTitle={title}
showOpenSeriesButton={true}
@ -93,36 +93,36 @@ function MissingRow(props) {
);
}
if (name === 'airDateUtc') {
if (name === 'releaseDate') {
return (
<RelativeDateCellConnector
key={name}
date={airDateUtc}
date={releaseDate}
/>
);
}
if (name === 'status') {
return (
<TableRowCell
key={name}
className={styles.status}
>
<EpisodeStatusConnector
episodeId={id}
episodeFileId={episodeFileId}
episodeEntity={episodeEntities.WANTED_MISSING}
/>
</TableRowCell>
);
}
// if (name === 'status') {
// return (
// <TableRowCell
// key={name}
// className={styles.status}
// >
// <EpisodeStatusConnector
// episodeId={id}
// episodeFileId={episodeFileId}
// episodeEntity={episodeEntities.WANTED_MISSING}
// />
// </TableRowCell>
// );
// }
if (name === 'actions') {
return (
<EpisodeSearchCellConnector
key={name}
episodeId={id}
artistId={series.id}
artistId={artist.id}
episodeTitle={title}
episodeEntity={episodeEntities.WANTED_MISSING}
showOpenSeriesButton={true}
@ -137,15 +137,15 @@ function MissingRow(props) {
MissingRow.propTypes = {
id: PropTypes.number.isRequired,
episodeFileId: PropTypes.number,
series: PropTypes.object.isRequired,
seasonNumber: PropTypes.number.isRequired,
episodeNumber: PropTypes.number.isRequired,
absoluteEpisodeNumber: PropTypes.number,
sceneSeasonNumber: PropTypes.number,
sceneEpisodeNumber: PropTypes.number,
sceneAbsoluteEpisodeNumber: PropTypes.number,
airDateUtc: PropTypes.string.isRequired,
// episodeFileId: PropTypes.number,
artist: PropTypes.object.isRequired,
// seasonNumber: PropTypes.number.isRequired,
// episodeNumber: PropTypes.number.isRequired,
// absoluteEpisodeNumber: PropTypes.number,
// sceneSeasonNumber: PropTypes.number,
// sceneEpisodeNumber: PropTypes.number,
// sceneAbsoluteEpisodeNumber: PropTypes.number,
releaseDate: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
isSelected: PropTypes.bool,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,