%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/emergentqj/actioncivile/pre-auth/def/static/js/reducers/
Upload File :
Create Path :
Current File : /home/emergentqj/actioncivile/pre-auth/def/static/js/reducers/payment.js

import { fromJS } from "immutable";
import LIST_ACTIONS from "../constants/action_types";

const initialState = fromJS({
  details: fromJS({}),
  showPayCard: false,
  balance: {},
  autoTopUp: [],
  autoTopUpEnabled: false,
  selectedMethodId: null,
  paymentData: null,
  paymentDataType: null,
  iframeloading: false,
  selectedTopUp: null,
  topUpAmount: 0,
  paymentToken: null,
  autoTopUpEditMode: false,
  isSafari: false,
  isIE: false,
});

const config = (state = initialState, action = {}) => {
  switch (action.type) {
    case LIST_ACTIONS.EDIT_AUTO_TOP_UP_ACCOUNT:
      return state.set("autoTopUpEditMode", action.payload);

    case LIST_ACTIONS.AUTO_TOP_UP_ACCOUNT_SUCCESS:
      return state
        .set("autoTopUpEnabled", action.payload.data.autoTopUpEnabled)
        .set("topUpAmount", action.payload.data.topUpAmount);

    case LIST_ACTIONS.TOP_UP_ACCOUNT:
      return state.set("selectedTopUp", action.payload);

    case LIST_ACTIONS.MODAL_HIDDEN:
      return state
        .set("autoTopUpEditMode", false)
        .set("iframeloading", false)
        .set("paymentData", null)
        .set("paymentDataType", null)
        .set("selectedTopUp", null)
        .set("selectedMethodId", null);

    case LIST_ACTIONS.IFRAME_IS_LOADED:
      return state.set("iframeloading", false);

    case LIST_ACTIONS.REGISTER_PAYMENT_SUCCESS:
      return state
        .set("paymentData", action.payload.headers.location)
        .set("iframeloading", false);

    case LIST_ACTIONS.SELECT_PAYMENT_METHOD:
      return state.set("selectedMethodId", fromJS(action.payload));

    case LIST_ACTIONS.TOP_UP_ACCOUNT_SUCCESS:
      return state.set("balance", fromJS(action.payload.data));

    case LIST_ACTIONS.GET_REMAINING_BALANCE_SUCCESS:
      return state
        .set("autoTopUpEnabled", fromJS(action.payload.data.autoTopUpEnabled))
        .set("autoTopUp", fromJS(action.payload.data.autoTopUp))
        .set("topUpAmount", fromJS(action.payload.data.topUpAmount))
        .set("balance", fromJS(action.payload.data.balance));

    case LIST_ACTIONS.GET_PAYMENT_DEVICE_SUCCESS:
      return state
        .set("details", fromJS(action.payload.data))
        .set("showPayCard", true);

    case LIST_ACTIONS.GET_PAYMENT_DEVICE_ERROR:
      if (action.e.status === 403) {
        return state.set("details", fromJS(null)).set("showPayCard", false);
      }
      return state;

    case LIST_ACTIONS.LOGOUT_SUCCESS:
      return state.set("details", fromJS({})).set("showPayCard", false);
    default:
      return state;
  }
};

export default config;

Zerion Mini Shell 1.0