fix(settings): load addresses in settings view
This commit is contained in:
parent
4cb96b94f9
commit
3fdeb3d56d
|
@ -1,14 +1,46 @@
|
|||
// @flow
|
||||
|
||||
import eres from 'eres';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { SettingsView } from '../views/settings';
|
||||
|
||||
import type { AppState } from '../types/app-state';
|
||||
import { loadAddressesSuccess, loadAddressesError } from '../redux/modules/receive';
|
||||
|
||||
const mapStateToProps = ({ walletSummary }: AppState) => ({
|
||||
addresses: walletSummary.addresses,
|
||||
import rpc from '../../services/api';
|
||||
|
||||
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
|
||||
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 { DARK, LIGHT } from '../constants/themes';
|
||||
import electronStore from '../../config/electron-store';
|
||||
import type { MapDispatchToProps, MapStateToProps } from '../containers/settings';
|
||||
|
||||
const HOME_DIR = electron.remote.app.getPath('home');
|
||||
|
||||
|
@ -79,9 +80,8 @@ type Key = {
|
|||
key: string,
|
||||
};
|
||||
|
||||
type Props = {
|
||||
addresses: string[],
|
||||
};
|
||||
type Props = MapDispatchToProps & MapStateToProps;
|
||||
|
||||
type State = {
|
||||
viewKeys: Key[],
|
||||
privateKeys: Key[],
|
||||
|
@ -105,6 +105,12 @@ export class SettingsView extends PureComponent<Props, State> {
|
|||
error: null,
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
const { loadAddresses } = this.props;
|
||||
|
||||
loadAddresses();
|
||||
}
|
||||
|
||||
exportViewKeys = () => {
|
||||
const { addresses } = this.props;
|
||||
|
||||
|
|
Loading…
Reference in New Issue