53 lines
1.1 KiB
JavaScript
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));
|
|
};
|