1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-21 22:05:38 -04:00

Fix Language Selection on Manual Import

This commit is contained in:
Qstick
2022-08-21 10:46:09 -05:00
parent 89ee7d4452
commit fa1e67a6c8
7 changed files with 166 additions and 61 deletions
+35 -1
View File
@@ -1,6 +1,7 @@
import { createAction } from 'redux-actions';
import { filterBuilderTypes, filterBuilderValueTypes, filterTypes, sortDirections } from 'Helpers/Props';
import { filterBuilderTypes, filterBuilderValueTypes, filterTypePredicates, filterTypes, sortDirections } from 'Helpers/Props';
import { createThunk, handleThunks } from 'Store/thunks';
import sortByName from 'Utilities/Array/sortByName';
import createAjaxRequest from 'Utilities/createAjaxRequest';
import createFetchHandler from './Creators/createFetchHandler';
import createHandleActions from './Creators/createHandleActions';
@@ -37,6 +38,13 @@ export const defaultState = {
return seeders * 1000000 + leechers;
},
languages: function(item, direction) {
if (item.languages.length > 1) {
return 10000;
}
return item.languages[0].id;
},
rejections: function(item, direction) {
const rejections = item.rejections;
const releaseWeight = item.releaseWeight;
@@ -95,6 +103,13 @@ export const defaultState = {
return false;
},
languages: function(item, filterValue, type) {
const predicate = filterTypePredicates[type];
const languages = item.languages.map((language) => language.name);
return predicate(languages, filterValue);
},
rejectionCount: function(item, value, type) {
const rejectionCount = item.rejections.length;
@@ -197,6 +212,25 @@ export const defaultState = {
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY
},
{
name: 'languages',
label: 'Languages',
type: filterBuilderTypes.ARRAY,
optionsSelector: function(items) {
const genreList = items.reduce((acc, release) => {
release.languages.forEach((language) => {
acc.push({
id: language.name,
name: language.name
});
});
return acc;
}, []);
return genreList.sort(sortByName);
}
},
{
name: 'rejectionCount',
label: 'Rejection Count',