47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import axios from 'axios'
|
|
import { me } from '../initial_state'
|
|
|
|
export const SHOP_FEATURED_PRODUCTS_FETCH_REQUEST = 'SHOP_FEATURED_PRODUCTS_FETCH_REQUEST'
|
|
export const SHOP_FEATURED_PRODUCTS_FETCH_SUCCESS = 'SHOP_FEATURED_PRODUCTS_FETCH_SUCCESS'
|
|
export const SHOP_FEATURED_PRODUCTS_FETCH_FAIL = 'SHOP_FEATURED_PRODUCTS_FETCH_FAIL'
|
|
|
|
export const fetchFeaturedProducts = () => {
|
|
return function (dispatch, getState) {
|
|
if (!me) return
|
|
|
|
dispatch(fetchFeaturedProductsRequest('featured'))
|
|
|
|
axios.get('https://dissenter-shop.gab.com/product/group/json').then((response) => {
|
|
try {
|
|
dispatch(fetchFeaturedProductsSuccess(response.data.data, 'featured'))
|
|
} catch (error) {
|
|
//
|
|
}
|
|
}).catch(function (error) {
|
|
dispatch(fetchFeaturedProductsFail(error, 'featured'))
|
|
})
|
|
}
|
|
}
|
|
|
|
function fetchFeaturedProductsRequest(listType) {
|
|
return {
|
|
type: SHOP_FEATURED_PRODUCTS_FETCH_REQUEST,
|
|
listType,
|
|
}
|
|
}
|
|
|
|
function fetchFeaturedProductsSuccess(items, listType) {
|
|
return {
|
|
type: SHOP_FEATURED_PRODUCTS_FETCH_SUCCESS,
|
|
items,
|
|
listType,
|
|
}
|
|
}
|
|
|
|
function fetchFeaturedProductsFail(error, listType) {
|
|
return {
|
|
type: SHOP_FEATURED_PRODUCTS_FETCH_FAIL,
|
|
error,
|
|
listType,
|
|
}
|
|
} |