feat: email verification
This commit is contained in:
parent
327e01ef9e
commit
2f4c76d48a
|
@ -1,6 +1,7 @@
|
|||
import React from 'react';
|
||||
import withStyles from "@material-ui/core/styles/withStyles";
|
||||
import {styles} from '../Register/registerStyle';
|
||||
import {notification} from 'antd';
|
||||
|
||||
import Grid from '@material-ui/core/Grid';
|
||||
import Paper from '@material-ui/core/Paper';
|
||||
|
@ -43,7 +44,39 @@ class BTNLoginPage extends React.Component{
|
|||
this.authStore = props.appstate.auth;
|
||||
}
|
||||
|
||||
handleChange = name => event => {
|
||||
componentDidMount() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
|
||||
if(urlParams.has('key')) {
|
||||
this.setState({
|
||||
isLoading: true
|
||||
});
|
||||
|
||||
this.authStore.verifyEmail(urlParams.get('key')).then((res) => {
|
||||
if(res.login_request_id) {
|
||||
notification.open({
|
||||
message: 'Email Verification',
|
||||
description: 'Email verification success'
|
||||
});
|
||||
this.setState({
|
||||
isLoading: false
|
||||
});
|
||||
//redirect to otp page
|
||||
} else {
|
||||
notification.open({
|
||||
message: 'Email Verification',
|
||||
description: res.message
|
||||
});
|
||||
this.setState({
|
||||
isLoading: false
|
||||
});
|
||||
// res.message
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
handleChange = name => event => {
|
||||
this.setState({
|
||||
[name]: event.target.value,
|
||||
});
|
||||
|
@ -131,7 +164,7 @@ class BTNLoginPage extends React.Component{
|
|||
</Hidden>
|
||||
<Grid item xs={12} sm={12} md={6} style={{paddingLeft : 50,paddingRight : 50}}>
|
||||
{
|
||||
this.state.isNeedEmailVerification &&
|
||||
this.state.isNeedEmailVerification &&
|
||||
<Paper className={classes.formRegister}>
|
||||
<Typography variant="h6" gutterBottom>
|
||||
Your account still need email verification
|
||||
|
@ -139,7 +172,7 @@ class BTNLoginPage extends React.Component{
|
|||
<Typography variant="subtitle2" gutterBottom>
|
||||
Still not received any email? <Link to={"/register"}>Resend email</Link>
|
||||
</Typography>
|
||||
|
||||
|
||||
<div style={{padding : 5,marginTop : 20}}>
|
||||
<Button onClick={() => this.setState({isNeedEmailVerification : false})} fullWidth variant="contained" style={{background:'#ffeb3b'}}>
|
||||
Back to Login
|
||||
|
@ -149,7 +182,7 @@ class BTNLoginPage extends React.Component{
|
|||
}
|
||||
|
||||
{
|
||||
!this.state.isNeedEmailVerification &&
|
||||
!this.state.isNeedEmailVerification &&
|
||||
<Paper className={classes.formRegister}>
|
||||
<Typography variant="h6" gutterBottom>
|
||||
Login to BTN Point
|
||||
|
@ -195,7 +228,7 @@ class BTNLoginPage extends React.Component{
|
|||
</div>
|
||||
</Paper>
|
||||
}
|
||||
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
@ -205,4 +238,4 @@ class BTNLoginPage extends React.Component{
|
|||
}
|
||||
}
|
||||
|
||||
export default withStyles(styles)(BTNLoginPage);
|
||||
export default withStyles(styles)(BTNLoginPage);
|
||||
|
|
|
@ -73,6 +73,13 @@ export class Authentication {
|
|||
})
|
||||
}
|
||||
|
||||
@action
|
||||
verifyEmail(key) {
|
||||
return this.http.post('authentication/email_verification', {
|
||||
key
|
||||
})
|
||||
}
|
||||
|
||||
@action
|
||||
logout() {
|
||||
this.context.setToken("");
|
||||
|
|
Loading…
Reference in New Issue
Block a user