mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
New: Add List and Discovery Pages (#3803)
This commit is contained in:
13
frontend/src/Store/Selectors/createAddListMovieSelector.js
Normal file
13
frontend/src/Store/Selectors/createAddListMovieSelector.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
function createAddListMovieSelector() {
|
||||
return createSelector(
|
||||
(state, { movieId }) => movieId,
|
||||
(state) => state.addMovie,
|
||||
(movieId, allMovies) => {
|
||||
return allMovies.items.find((movie) => movie.tmdbId === movieId);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export default createAddListMovieSelector;
|
@@ -0,0 +1,36 @@
|
||||
import { createSelector } from 'reselect';
|
||||
import createDeepEqualSelector from './createDeepEqualSelector';
|
||||
import createClientSideCollectionSelector from './createClientSideCollectionSelector';
|
||||
|
||||
function createUnoptimizedSelector(uiSection) {
|
||||
return createSelector(
|
||||
createClientSideCollectionSelector('movies', uiSection),
|
||||
(movies) => {
|
||||
const items = movies.items.map((s) => {
|
||||
const {
|
||||
tmdbId,
|
||||
sortTitle
|
||||
} = s;
|
||||
|
||||
return {
|
||||
tmdbId,
|
||||
sortTitle
|
||||
};
|
||||
});
|
||||
|
||||
return {
|
||||
...movies,
|
||||
items
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function createAddMovieClientSideCollectionItemsSelector(uiSection) {
|
||||
return createDeepEqualSelector(
|
||||
createUnoptimizedSelector(uiSection),
|
||||
(movies) => movies
|
||||
);
|
||||
}
|
||||
|
||||
export default createAddMovieClientSideCollectionItemsSelector;
|
Reference in New Issue
Block a user