34 lines
961 B
JavaScript
34 lines
961 B
JavaScript
import api from '../api';
|
|
|
|
export const FEATURED_TAGS_FETCH_REQUEST = 'FEATURED_TAGS_FETCH_REQUEST';
|
|
export const FEATURED_TAGS_FETCH_SUCCESS = 'FEATURED_TAGS_FETCH_SUCCESS';
|
|
export const FEATURED_TAGS_FETCH_FAIL = 'FEATURED_TAGS_FETCH_FAIL';
|
|
|
|
export const fetchFeaturedTags = (id) => (dispatch, getState) => {
|
|
if (getState().getIn(['user_lists', 'featured_tags', id, 'items'])) {
|
|
return;
|
|
}
|
|
|
|
dispatch(fetchFeaturedTagsRequest(id));
|
|
|
|
api(getState).get(`/api/v1/accounts/${id}/featured_tags`)
|
|
.then(({ data }) => dispatch(fetchFeaturedTagsSuccess(id, data)))
|
|
.catch(err => dispatch(fetchFeaturedTagsFail(id, err)));
|
|
};
|
|
|
|
export const fetchFeaturedTagsRequest = (id) => ({
|
|
type: FEATURED_TAGS_FETCH_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchFeaturedTagsSuccess = (id, tags) => ({
|
|
type: FEATURED_TAGS_FETCH_SUCCESS,
|
|
id,
|
|
tags,
|
|
});
|
|
|
|
export const fetchFeaturedTagsFail = (id, error) => ({
|
|
type: FEATURED_TAGS_FETCH_FAIL,
|
|
id,
|
|
error,
|
|
});
|