mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
New: Browse Lists from Discover Movies Page
This commit is contained in:
@@ -4,9 +4,9 @@ import { createSelector } from 'reselect';
|
||||
function createExclusionMovieSelector() {
|
||||
return createSelector(
|
||||
(state, { tmdbId }) => tmdbId,
|
||||
(state) => state.settings.netImportExclusions,
|
||||
(tmdbId, netImportExclusions) => {
|
||||
return _.some(netImportExclusions.items, { tmdbId });
|
||||
(state) => state.settings.importExclusions,
|
||||
(tmdbId, importExclusions) => {
|
||||
return _.some(importExclusions.items, { tmdbId });
|
||||
}
|
||||
);
|
||||
}
|
||||
|
12
frontend/src/Store/Selectors/createImportListSelector.js
Normal file
12
frontend/src/Store/Selectors/createImportListSelector.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
function createImportListSelector() {
|
||||
return createSelector(
|
||||
(state) => state.settings.importLists.items,
|
||||
(lists) => {
|
||||
return lists;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export default createImportListSelector;
|
@@ -4,9 +4,9 @@ import { createSelector } from 'reselect';
|
||||
function createMovieCollectionListSelector() {
|
||||
return createSelector(
|
||||
(state, { tmdbId }) => tmdbId,
|
||||
(state) => state.settings.netImports.items,
|
||||
(tmdbId, netImports) => {
|
||||
const netImportIds = _.reduce(netImports, (acc, list) => {
|
||||
(state) => state.settings.importLists.items,
|
||||
(tmdbId, importLists) => {
|
||||
const importListIds = _.reduce(importLists, (acc, list) => {
|
||||
if (list.implementation === 'TMDbCollectionImport') {
|
||||
const collectionIdField = list.fields.find((field) => {
|
||||
return field.name === 'collectionId';
|
||||
@@ -21,11 +21,11 @@ function createMovieCollectionListSelector() {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
if (netImportIds.length === 0) {
|
||||
if (importListIds.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return netImportIds[0];
|
||||
return importListIds[0];
|
||||
}
|
||||
);
|
||||
}
|
||||
|
@@ -4,9 +4,9 @@ import { createSelector } from 'reselect';
|
||||
function createMovieCreditListSelector() {
|
||||
return createSelector(
|
||||
(state, { tmdbId }) => tmdbId,
|
||||
(state) => state.settings.netImports.items,
|
||||
(tmdbId, netImports) => {
|
||||
const netImportIds = _.reduce(netImports, (acc, list) => {
|
||||
(state) => state.settings.importLists.items,
|
||||
(tmdbId, importLists) => {
|
||||
const importListIds = _.reduce(importLists, (acc, list) => {
|
||||
if (list.implementation === 'TMDbPersonImport') {
|
||||
const personIdField = list.fields.find((field) => {
|
||||
return field.name === 'personId';
|
||||
@@ -21,14 +21,14 @@ function createMovieCreditListSelector() {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
let netImportId = 0;
|
||||
let importListId = 0;
|
||||
|
||||
if (netImportIds.length > 0) {
|
||||
netImportId = netImportIds[0].id;
|
||||
if (importListIds.length > 0) {
|
||||
importListId = importListIds[0].id;
|
||||
}
|
||||
|
||||
return {
|
||||
netImportId
|
||||
importListId
|
||||
};
|
||||
}
|
||||
);
|
||||
|
@@ -6,7 +6,7 @@ function createProfileInUseSelector(profileProp) {
|
||||
return createSelector(
|
||||
(state, { id }) => id,
|
||||
createAllMoviesSelector(),
|
||||
(state) => state.settings.netImports.items,
|
||||
(state) => state.settings.importLists.items,
|
||||
(id, movies, lists) => {
|
||||
if (!id) {
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user