zepio/app/redux/modules/send.js

47 lines
1.1 KiB
JavaScript
Raw Normal View History

2018-12-21 07:44:11 -08:00
// @flow
import type { Action } from '../../types/redux';
export const SEND_TRANSACTION = 'SEND_TRANSACTION';
export const SEND_TRANSACTION_SUCCESS = 'SEND_TRANSACTION_SUCCESS';
export const SEND_TRANSACTION_ERROR = 'SEND_TRANSACTION_ERROR';
export const sendTransaction = () => ({
type: SEND_TRANSACTION,
payload: {},
});
export const sendTransactionSuccess = () => ({
type: SEND_TRANSACTION_SUCCESS,
payload: {},
});
export const sendTransactionError = ({ error }: { error: string }) => ({
type: SEND_TRANSACTION_ERROR,
payload: {
error,
},
});
export type State = {
isSending: boolean,
error: string | null,
};
const initialState = {
isSending: false,
error: null,
};
export default (state: State = initialState, action: Action) => {
switch (action.type) {
case SEND_TRANSACTION:
return { isSending: true, error: null };
case SEND_TRANSACTION_SUCCESS:
return { isSending: false, error: null };
case SEND_TRANSACTION_ERROR:
return { isSending: false, error: action.payload.error };
default:
return state;
}
};