fix(settings): load addresses in settings view
This commit is contained in:
parent
4cb96b94f9
commit
3fdeb3d56d
|
@ -1,14 +1,46 @@
|
||||||
// @flow
|
// @flow
|
||||||
|
import eres from 'eres';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
import { SettingsView } from '../views/settings';
|
import { SettingsView } from '../views/settings';
|
||||||
|
|
||||||
import type { AppState } from '../types/app-state';
|
import { loadAddressesSuccess, loadAddressesError } from '../redux/modules/receive';
|
||||||
|
|
||||||
const mapStateToProps = ({ walletSummary }: AppState) => ({
|
import rpc from '../../services/api';
|
||||||
addresses: walletSummary.addresses,
|
|
||||||
|
import type { AppState } from '../types/app-state';
|
||||||
|
import type { Dispatch } from '../types/redux';
|
||||||
|
|
||||||
|
export type MapStateToProps = {|
|
||||||
|
addresses: string[],
|
||||||
|
|};
|
||||||
|
|
||||||
|
const mapStateToProps = ({ receive }: AppState): MapStateToProps => ({
|
||||||
|
addresses: receive.addresses,
|
||||||
|
});
|
||||||
|
|
||||||
|
export type MapDispatchToProps = {|
|
||||||
|
loadAddresses: () => Promise<void>,
|
||||||
|
|};
|
||||||
|
|
||||||
|
const mapDispatchToProps = (dispatch: Dispatch): MapDispatchToProps => ({
|
||||||
|
loadAddresses: async () => {
|
||||||
|
const [zAddressesErr, zAddresses] = await eres(rpc.z_listaddresses());
|
||||||
|
|
||||||
|
const [tAddressesErr, transparentAddresses] = await eres(rpc.getaddressesbyaccount(''));
|
||||||
|
|
||||||
|
if (zAddressesErr || tAddressesErr) return dispatch(loadAddressesError({ error: 'Something went wrong!' }));
|
||||||
|
|
||||||
|
dispatch(
|
||||||
|
loadAddressesSuccess({
|
||||||
|
addresses: [...zAddresses, ...transparentAddresses],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// $FlowFixMe
|
// $FlowFixMe
|
||||||
export const SettingsContainer = connect(mapStateToProps)(SettingsView);
|
export const SettingsContainer = connect(
|
||||||
|
mapStateToProps,
|
||||||
|
mapDispatchToProps,
|
||||||
|
)(SettingsView);
|
||||||
|
|
|
@ -22,6 +22,7 @@ import { SelectComponent } from '../components/select';
|
||||||
import rpc from '../../services/api';
|
import rpc from '../../services/api';
|
||||||
import { DARK, LIGHT } from '../constants/themes';
|
import { DARK, LIGHT } from '../constants/themes';
|
||||||
import electronStore from '../../config/electron-store';
|
import electronStore from '../../config/electron-store';
|
||||||
|
import type { MapDispatchToProps, MapStateToProps } from '../containers/settings';
|
||||||
|
|
||||||
const HOME_DIR = electron.remote.app.getPath('home');
|
const HOME_DIR = electron.remote.app.getPath('home');
|
||||||
|
|
||||||
|
@ -79,9 +80,8 @@ type Key = {
|
||||||
key: string,
|
key: string,
|
||||||
};
|
};
|
||||||
|
|
||||||
type Props = {
|
type Props = MapDispatchToProps & MapStateToProps;
|
||||||
addresses: string[],
|
|
||||||
};
|
|
||||||
type State = {
|
type State = {
|
||||||
viewKeys: Key[],
|
viewKeys: Key[],
|
||||||
privateKeys: Key[],
|
privateKeys: Key[],
|
||||||
|
@ -105,6 +105,12 @@ export class SettingsView extends PureComponent<Props, State> {
|
||||||
error: null,
|
error: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
const { loadAddresses } = this.props;
|
||||||
|
|
||||||
|
loadAddresses();
|
||||||
|
}
|
||||||
|
|
||||||
exportViewKeys = () => {
|
exportViewKeys = () => {
|
||||||
const { addresses } = this.props;
|
const { addresses } = this.props;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue