Files
Eventment/app/actions/auction.js
2019-08-05 21:23:17 -04:00

53 lines
1.1 KiB
JavaScript

import { blockUI, unblockUI } from './index.js';
import {
BID_FAILURE,
BID_SUCCESS,
PLACE_BID,
SET_AUCTION_FILTER,
SET_AUCTION_VIEW_MODE,
} from '../constants/actionTypes.js';
const placeBidFailure = (bid, dispatch) => {
dispatch({ type: BID_FAILURE, bid });
dispatch(unblockUI);
};
const placeBidSuccess = (bid, dispatch) => {
dispatch({ type: BID_SUCCESS, bid });
dispatch(unblockUI);
};
export const changeFilterMode = (payload) => ({
type: SET_AUCTION_FILTER,
payload,
});
export const changeViewMode = (payload) => ({
type: SET_AUCTION_VIEW_MODE,
payload,
});
export const placeBid = (payload) => ({
type: PLACE_BID,
payload,
});
export const postBid = () => (dispatch, getState) => {
const state = getState();
const activeEvent = state.get('activeEvent');
let apiUrl = getEndpointUrl(API_ENDPOINTS.GET_ITEMS);
apiUrl = apiUrl.replace(/:event_id$/, '');
if (activeEvent) {
apiUrl = `${apiUrl}${activeEvent}`;
}
dispatch(blockUI());
fetch(apiUrl)
.then(response => response.json())
.then(payload => itemsLoadSuccess(payload, dispatch))
.catch(err => console.error('[actions::getItems]', err));
};