1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { RootState } from '~/store/store';
6 import { compose } from 'redux';
7 import { reduxForm, isPristine, isValid } from 'redux-form';
8 import { connect } from 'react-redux';
9 import { saveEditedUser } from '~/store/my-account/my-account-panel-actions';
10 import { MyAccountPanelRoot, MyAccountPanelRootDataProps, MY_ACCOUNT_FORM } from '~/views/my-account-panel/my-account-panel-root';
12 const mapStateToProps = (state: RootState): MyAccountPanelRootDataProps => ({
13 isPristine: isPristine(MY_ACCOUNT_FORM)(state),
14 isValid: isValid(MY_ACCOUNT_FORM)(state),
15 initialValues: state.auth.user
18 export const MyAccountPanel = compose(
19 connect(mapStateToProps),
21 form: MY_ACCOUNT_FORM,
22 onSubmit: (data, dispatch) => {
23 dispatch(saveEditedUser(data));
25 }))(MyAccountPanelRoot);