aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/settings/user
diff options
context:
space:
mode:
authorLibravatar muhamedsalih-tw <104364298+muhamedsalih-tw@users.noreply.github.com>2022-11-02 06:31:36 +0530
committerLibravatar GitHub <noreply@github.com>2022-11-02 01:01:36 +0000
commit302d595f7c289387e53a0ef7df4d574ed4e25d70 (patch)
tree2385e59eaca9c78921d9b0b3681cfba1b3eef168 /src/components/settings/user
parentRe-enable editing of the address bar to manually access a different url withi... (diff)
downloadferdium-app-302d595f7c289387e53a0ef7df4d574ed4e25d70.tar.gz
ferdium-app-302d595f7c289387e53a0ef7df4d574ed4e25d70.tar.zst
ferdium-app-302d595f7c289387e53a0ef7df4d574ed4e25d70.zip
Transform to TS and refactored components w.r.t deletion if duplicated Input component (#729)
Diffstat (limited to 'src/components/settings/user')
-rw-r--r--src/components/settings/user/EditUserForm.tsx (renamed from src/components/settings/user/EditUserForm.js)38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/components/settings/user/EditUserForm.js b/src/components/settings/user/EditUserForm.tsx
index c2773a47d..3b604a79f 100644
--- a/src/components/settings/user/EditUserForm.js
+++ b/src/components/settings/user/EditUserForm.tsx
@@ -1,9 +1,8 @@
1import { Component } from 'react'; 1import { Component, FormEvent, FormEventHandler, ReactElement } from 'react';
2import PropTypes from 'prop-types'; 2import { observer } from 'mobx-react';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
4import { defineMessages, injectIntl } from 'react-intl';
5import { Link } from 'react-router-dom'; 4import { Link } from 'react-router-dom';
6 5import { noop } from 'lodash';
7import Input from '../../ui/input/index'; 6import Input from '../../ui/input/index';
8import Form from '../../../lib/Form'; 7import Form from '../../../lib/Form';
9import Button from '../../ui/button'; 8import Button from '../../ui/button';
@@ -38,15 +37,16 @@ const messages = defineMessages({
38 }, 37 },
39}); 38});
40 39
41class EditUserForm extends Component { 40interface IProps extends WrappedComponentProps {
42 static propTypes = { 41 status: string[];
43 status: MobxPropTypes.observableArray.isRequired, 42 form: Form;
44 form: PropTypes.instanceOf(Form).isRequired, 43 onSubmit: FormEventHandler<HTMLFormElement>;
45 onSubmit: PropTypes.func.isRequired, 44 isSaving: boolean;
46 isSaving: PropTypes.bool.isRequired, 45}
47 };
48 46
49 submit(e) { 47@observer
48class EditUserForm extends Component<IProps> {
49 submit(e: FormEvent<HTMLFormElement>): void {
50 e.preventDefault(); 50 e.preventDefault();
51 this.props.form.submit({ 51 this.props.form.submit({
52 onSuccess: form => { 52 onSuccess: form => {
@@ -57,14 +57,14 @@ class EditUserForm extends Component {
57 }); 57 });
58 } 58 }
59 59
60 render() { 60 render(): ReactElement {
61 const { 61 const {
62 // user, 62 // user,
63 status, 63 status,
64 form, 64 form,
65 isSaving, 65 isSaving,
66 intl,
66 } = this.props; 67 } = this.props;
67 const { intl } = this.props;
68 68
69 return ( 69 return (
70 <div className="settings__main"> 70 <div className="settings__main">
@@ -92,9 +92,9 @@ class EditUserForm extends Component {
92 <Input {...form.$('lastname').bind()} /> 92 <Input {...form.$('lastname').bind()} />
93 </div> 93 </div>
94 <Input {...form.$('email').bind()} /> 94 <Input {...form.$('email').bind()} />
95 <Radio field={form.$('accountType')} /> 95 <Radio field={form.$('accountType')} className="" />
96 {form.$('accountType').value === 'company' && ( 96 {form.$('accountType').value === 'company' && (
97 <Input field={form.$('organization')} /> 97 <Input {...form.$('organization').bind()} />
98 )} 98 )}
99 <H2>{intl.formatMessage(messages.headlinePassword)}</H2> 99 <H2>{intl.formatMessage(messages.headlinePassword)}</H2>
100 <Input {...form.$('oldPassword').bind()} showPasswordToggle /> 100 <Input {...form.$('oldPassword').bind()} showPasswordToggle />
@@ -114,12 +114,14 @@ class EditUserForm extends Component {
114 loaded={!isSaving} 114 loaded={!isSaving}
115 buttonType="secondary" 115 buttonType="secondary"
116 disabled 116 disabled
117 onClick={noop}
117 /> 118 />
118 ) : ( 119 ) : (
119 <Button 120 <Button
120 type="submit" 121 type="submit"
121 label={intl.formatMessage(messages.buttonSave)} 122 label={intl.formatMessage(messages.buttonSave)}
122 htmlForm="form" 123 htmlForm="form"
124 onClick={noop}
123 /> 125 />
124 )} 126 )}
125 </div> 127 </div>
@@ -128,4 +130,4 @@ class EditUserForm extends Component {
128 } 130 }
129} 131}
130 132
131export default injectIntl(observer(EditUserForm)); 133export default injectIntl(EditUserForm);