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