Skip to content

Commit 54cfe7e

Browse files
committed
Clear email field on send
1 parent 19ef901 commit 54cfe7e

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

resources/scripts/components/auth/ForgotPasswordContainer.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ type State = Readonly<{
1818
}>;
1919

2020
class ForgotPasswordContainer extends React.PureComponent<Props, State> {
21+
emailField = React.createRef<HTMLInputElement>();
22+
2123
state: State = {
2224
email: '',
2325
isSubmitting: false,
@@ -33,9 +35,15 @@ class ForgotPasswordContainer extends React.PureComponent<Props, State> {
3335
this.setState({ isSubmitting: true }, () => {
3436
this.props.clearAllFlashMessages();
3537
requestPasswordResetEmail(this.state.email)
36-
.then(response => this.props.pushFlashMessage({
37-
type: 'success', title: 'Success', message: response,
38-
}))
38+
.then(response => {
39+
if (this.emailField.current) {
40+
this.emailField.current.value = '';
41+
}
42+
43+
this.props.pushFlashMessage({
44+
type: 'success', title: 'Success', message: response,
45+
});
46+
})
3947
.catch(error => {
4048
console.error(error);
4149
this.props.pushFlashMessage({
@@ -54,6 +62,7 @@ class ForgotPasswordContainer extends React.PureComponent<Props, State> {
5462
<form className={'login-box'} onSubmit={this.handleSubmission}>
5563
<div className={'-mx-3'}>
5664
<OpenInputField
65+
ref={this.emailField}
5766
id={'email'}
5867
type={'email'}
5968
label={'Email'}

resources/scripts/components/forms/OpenInputField.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ type Props = React.InputHTMLAttributes<HTMLInputElement> & {
66
description?: string;
77
};
88

9-
export default ({ className, description, onChange, label, ...props }: Props) => {
9+
export default React.forwardRef<HTMLInputElement, Props>(({ className, description, onChange, label, ...props }, ref) => {
1010
const [ value, setValue ] = React.useState('');
1111

1212
const classes = classNames('input open-label', {
@@ -16,6 +16,7 @@ export default ({ className, description, onChange, label, ...props }: Props) =>
1616
return (
1717
<div className={'input-open'}>
1818
<input
19+
ref={ref}
1920
className={classes}
2021
onChange={e => {
2122
setValue(e.target.value);
@@ -33,4 +34,4 @@ export default ({ className, description, onChange, label, ...props }: Props) =>
3334
}
3435
</div>
3536
);
36-
};
37+
});

0 commit comments

Comments
 (0)