Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export const setQuery = query => {
- return (dispatch, getState) => {
- dispatch(getMovies(query, getState().search.page))
- dispatch({
- type: 'SEARCH/SET_QUERY',
- payload: query
- })
- }
- }
- const setMovies = movies => {
- return {
- type: 'SET_MOVIES',
- payload: movies
- }
- }
- const setPages = pages => {
- return {
- type: 'SET_PAGES',
- payload: pages
- }
- }
- export const getMovies = (query, page, discover) => {
- return dispatch => {
- if (!query && !discover) {
- getPopularMovies(page)
- .then(r => {
- dispatch(setPages(r.total_pages))
- dispatch(setMovies(r.results))
- })
- }
- else if (discover) {
- console.log(discover)
- getMoviesByDiscover(discover, page)
- .then(r => {
- dispatch(setPages(r.total_pages))
- dispatch(setMovies(r.results))
- })
- }
- else {
- searchMovies(query, page)
- .then(r => {
- dispatch(setPages(r.total_pages))
- dispatch(setMovies(r.results))
- })
- }
- }
- }
- export const setPage = page => {
- return (dispatch, getState) => {
- dispatch(getMovies(
- getState().search.query,
- page,
- getState().search.genres
- ))
- return {
- type: 'SEARCH/SET_PAGE',
- payload: page
- }
- }
- }
- export const setGenre = genre => {
- return (dispatch, getState) => {
- dispatch(getMovies(
- null,
- getState().search.page,
- [...getState().search.genres, genre]
- ))
- return {
- type: 'SEARCH/SET_GENRE',
- payload: genre
- }
- }
- }
- export const removeGenre = genre => {
- return (dispatch, getState) => {
- dispatch(getMovies(
- null,
- getState().search.page,
- [...getState().search.genres.filter(g => g !== genre)]
- ))
- return {
- type: 'SEARCH/REMOVE_GENRE',
- payload: genre
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement