Jack Mallers
7 years ago
4 changed files with 102 additions and 6 deletions
@ -0,0 +1,46 @@ |
|||||
|
import { ipcRenderer } from 'electron' |
||||
|
// ------------------------------------
|
||||
|
// Constants
|
||||
|
// ------------------------------------
|
||||
|
export const GET_ADDRESS = 'GET_ADDRESS' |
||||
|
export const RECEIVE_ADDRESS = 'RECEIVE_ADDRESS' |
||||
|
|
||||
|
// ------------------------------------
|
||||
|
// Actions
|
||||
|
// ------------------------------------
|
||||
|
export function getAddress() { |
||||
|
return { |
||||
|
type: GET_ADDRESS |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Send IPC event for getinfo
|
||||
|
export const newAddress = (type) => async (dispatch) => { |
||||
|
dispatch(getAddress()) |
||||
|
ipcRenderer.send('lnd', { msg: 'newaddress' }) |
||||
|
} |
||||
|
|
||||
|
// Receive IPC event for info
|
||||
|
export const receiveAddress = (event, address) => dispatch => dispatch({ type: RECEIVE_INFO, address }) |
||||
|
|
||||
|
// ------------------------------------
|
||||
|
// Action Handlers
|
||||
|
// ------------------------------------
|
||||
|
const ACTION_HANDLERS = { |
||||
|
[GET_ADDRESS]: state => ({ ...state, infoLoading: true }), |
||||
|
[RECEIVE_ADDRESS]: (state, { address }) => ({ ...state, addressLoading: false, address }) |
||||
|
} |
||||
|
|
||||
|
// ------------------------------------
|
||||
|
// Reducer
|
||||
|
// ------------------------------------
|
||||
|
const initialState = { |
||||
|
addressLoading: false, |
||||
|
address: '' |
||||
|
} |
||||
|
|
||||
|
export default function addressReducer(state = initialState, action) { |
||||
|
const handler = ACTION_HANDLERS[action.type] |
||||
|
|
||||
|
return handler ? handler(state, action) : state |
||||
|
} |
Loading…
Reference in new issue