-
Notifications
You must be signed in to change notification settings - Fork 0
/
session.js
57 lines (50 loc) · 1.18 KB
/
session.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import * as api from '../api'
import {
SET_CURRENT_PAGE_NUMBER,
CLEAR_SEARCH,
CLEAR_SELECTED_MOVIE,
FETCH_MOVIES_BY_TITLE,
FETCH_SELECTED_MOVIE_DETAILS,
CLEAR_VOTED,
SELECT_VOTED,
} from '../utils/action-types'
export const setCurrentPageNumber = (currentPageNumber) => ({
type: SET_CURRENT_PAGE_NUMBER,
currentPageNumber,
})
export const clearSearch = () => ({
type: CLEAR_SEARCH,
})
export const selectVoted = () => ({
type: SELECT_VOTED,
})
export const clearVoted = () => ({
type: CLEAR_VOTED,
})
export const clearSelectedMovie = () => ({
type: CLEAR_SELECTED_MOVIE,
})
export const searchMoviesByTitle = (searchValue, page) => async (dispatch) => {
try {
const { data } = await api.fetchMoviesByTitle(searchValue, page)
dispatch({
type: FETCH_MOVIES_BY_TITLE,
moviesPage: data,
searchValue,
page,
})
} catch (error) {
console.log(error)
}
}
export const getSelectedMovieDetails = (id) => async (dispatch) => {
try {
const { data } = await api.fetchSelectedMovieDetails(id)
dispatch({
type: FETCH_SELECTED_MOVIE_DETAILS,
selectedMovieDetails: data,
})
} catch (error) {
console.log(error)
}
}