Advertisement
Guest User

Untitled

a guest
Jul 28th, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. export const setQuery = query => {
  2.     return (dispatch, getState) => {
  3.         dispatch({
  4.             type: 'SEARCH/SET_QUERY',
  5.             payload: query
  6.         })
  7.         dispatch(getMovies())
  8.     }
  9. }
  10.  
  11.  
  12. const setMovies = movies => {
  13.     return {
  14.         type: 'SET_MOVIES',
  15.         payload: movies
  16.     }
  17. }
  18.  
  19. const setPages = pages => {
  20.     return {
  21.         type: 'SET_PAGES',
  22.         payload: pages
  23.     }
  24. }
  25.  
  26.  
  27.  
  28. export const getMovies = () => {
  29.  
  30.     return (dispatch, getState) => {
  31.         if (!getState().search.query && !getState().search.genres.length) {
  32.             getPopularMovies(getState().search.page)
  33.                 .then(r => {
  34.                     dispatch(setPages(r.total_pages))
  35.                     dispatch(setMovies(r.results))
  36.                 })
  37.         }
  38.         else if (getState().search.genres.length) {
  39.             getMoviesByDiscover(getState().search.genres, getState().search.page)
  40.                 .then(r => {
  41.                     dispatch(setPages(r.total_pages))
  42.                     dispatch(setMovies(r.results))
  43.                 })
  44.         }
  45.         else {
  46.             searchMovies(getState().search.query, getState().search.page)
  47.                 .then(r => {
  48.                     dispatch(setPages(r.total_pages))
  49.                     dispatch(setMovies(r.results))
  50.                 })
  51.         }
  52.     }
  53. }
  54.  
  55.  
  56. export const setPage = page => {
  57.     return dispatch => {
  58.         dispatch({
  59.             type: 'SEARCH/SET_PAGE',
  60.             payload: page
  61.         })
  62.         dispatch(getMovies())
  63.     }
  64. }
  65.  
  66. export const setGenre = genre => {
  67.     return dispatch => {
  68.         dispatch({
  69.             type: 'SEARCH/SET_GENRE',
  70.             payload: genre
  71.         })
  72.         dispatch(getMovies())
  73.     }
  74. }
  75.  
  76. export const removeGenre = genre => {
  77.     return dispatch => {
  78.         dispatch({
  79.             type: 'SEARCH/REMOVE_GENRE',
  80.             payload: genre
  81.         })
  82.         dispatch(getMovies())
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement