mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-07 13:32:17 -07:00
New: Release Profiles, Frontend updates (#580)
* New: Release Profiles - UI Updates * New: Release Profiles - API Changes * New: Release Profiles - Test Updates * New: Release Profiles - Backend Updates * New: Interactive Artist Search * New: Change Montiored on Album Details Page * New: Show Duration on Album Details Page * Fixed: Manual Import not working if no albums are Missing * Fixed: Sort search input by sortTitle * Fixed: Queue columnLabel throwing JS error
This commit is contained in:
parent
f126eafd26
commit
3f064c94b9
409 changed files with 6882 additions and 3176 deletions
|
@ -11,20 +11,45 @@ import { fetchTracks, clearTracks } from 'Store/Actions/trackActions';
|
|||
import { fetchLanguageProfileSchema, fetchQualityProfileSchema } from 'Store/Actions/settingsActions';
|
||||
import TrackFileEditorModalContent from './TrackFileEditorModalContent';
|
||||
|
||||
function createSchemaSelector() {
|
||||
return createSelector(
|
||||
(state) => state.settings.languageProfiles,
|
||||
(state) => state.settings.qualityProfiles,
|
||||
(languageProfiles, qualityProfiles) => {
|
||||
const languages = _.map(languageProfiles.schema.languages, 'language');
|
||||
const qualities = getQualities(qualityProfiles.schema.items);
|
||||
|
||||
let error = null;
|
||||
|
||||
if (languageProfiles.schemaError) {
|
||||
error = 'Unable to load languages';
|
||||
} else if (qualityProfiles.schemaError) {
|
||||
error = 'Unable to load qualities';
|
||||
}
|
||||
|
||||
return {
|
||||
isFetching: languageProfiles.isSchemaFetching || qualityProfiles.isSchemaFetching,
|
||||
isPopulated: languageProfiles.isSchemaPopulated && qualityProfiles.isSchemaPopulated,
|
||||
error,
|
||||
languages,
|
||||
qualities
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function createMapStateToProps() {
|
||||
return createSelector(
|
||||
(state, { albumId }) => albumId,
|
||||
(state) => state.tracks,
|
||||
(state) => state.trackFiles,
|
||||
(state) => state.settings.languageProfiles.schema,
|
||||
(state) => state.settings.qualityProfiles.schema,
|
||||
createSchemaSelector(),
|
||||
createArtistSelector(),
|
||||
(
|
||||
albumId,
|
||||
tracks,
|
||||
trackFiles,
|
||||
languageProfilesSchema,
|
||||
qualityProfileSchema,
|
||||
schema,
|
||||
artist
|
||||
) => {
|
||||
const filtered = _.filter(tracks.items, (track) => {
|
||||
|
@ -52,17 +77,12 @@ function createMapStateToProps() {
|
|||
};
|
||||
});
|
||||
|
||||
const languages = _.map(languageProfilesSchema.languages, 'language');
|
||||
const qualities = getQualities(qualityProfileSchema.items);
|
||||
|
||||
return {
|
||||
...schema,
|
||||
items,
|
||||
artistType: artist.artistType,
|
||||
isDeleting: trackFiles.isDeleting,
|
||||
isFetching: tracks.isFetching || trackFiles.isFetching,
|
||||
isSaving: trackFiles.isSaving,
|
||||
languages,
|
||||
qualities
|
||||
isSaving: trackFiles.isSaving
|
||||
};
|
||||
}
|
||||
);
|
||||
|
@ -115,9 +135,6 @@ class TrackFileEditorModalContentConnector extends Component {
|
|||
this.props.dispatchClearTracks();
|
||||
}
|
||||
|
||||
//
|
||||
// Render
|
||||
|
||||
//
|
||||
// Listeners
|
||||
|
||||
|
@ -139,6 +156,9 @@ class TrackFileEditorModalContentConnector extends Component {
|
|||
this.props.dispatchUpdateTrackFiles({ trackFileIds, quality });
|
||||
}
|
||||
|
||||
//
|
||||
// Render
|
||||
|
||||
render() {
|
||||
const {
|
||||
dispatchFetchLanguageProfileSchema,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue