summaryrefslogtreecommitdiffstats
path: root/ui/src/components/login.tsx
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-10-29 20:35:39 -0700
committerDessalines <tyhou13@gmx.com>2019-10-29 20:35:39 -0700
commit9f35b33dc7238f0d6748beafa79ca0af192b5ca6 (patch)
tree9199b38cc553822d2e43eed2f5d3d7975d2b702a /ui/src/components/login.tsx
parent198b5f10dd18244744b6d82b93155a5c5b569bb9 (diff)
Halfway done with email, not fully working yet.
Diffstat (limited to 'ui/src/components/login.tsx')
-rw-r--r--ui/src/components/login.tsx16
1 files changed, 16 insertions, 0 deletions
diff --git a/ui/src/components/login.tsx b/ui/src/components/login.tsx
index 87fa39fe..c2db7ee6 100644
--- a/ui/src/components/login.tsx
+++ b/ui/src/components/login.tsx
@@ -6,6 +6,7 @@ import {
RegisterForm,
LoginResponse,
UserOperation,
+ PasswordResetForm,
} from '../interfaces';
import { WebSocketService, UserService } from '../services';
import { msgOp } from '../utils';
@@ -112,6 +113,12 @@ export class Login extends Component<any, State> {
class="form-control"
required
/>
+ <div
+ onClick={linkEvent(this, this.handlePasswordReset)}
+ class="pointer d-inline-block float-right text-muted small font-weight-bold"
+ >
+ <T i18nKey="forgot_password">#</T>
+ </div>
</div>
</div>
<div class="form-group row">
@@ -279,6 +286,13 @@ export class Login extends Component<any, State> {
i.setState(i.state);
}
+ handlePasswordReset(i: Login) {
+ let resetForm: PasswordResetForm = {
+ email: i.state.loginForm.username_or_email,
+ };
+ WebSocketService.Instance.passwordReset(resetForm);
+ }
+
parseMessage(msg: any) {
let op: UserOperation = msgOp(msg);
if (msg.error) {
@@ -299,6 +313,8 @@ export class Login extends Component<any, State> {
let res: LoginResponse = msg;
UserService.Instance.login(res);
this.props.history.push('/communities');
+ } else if (op == UserOperation.PasswordReset) {
+ alert(i18n.t('reset_password_mail_sent'));
}
}
}