frontend/smart-hut/src/views/Forgot-pass-reset.js

98 lines
3.1 KiB
JavaScript
Raw Normal View History

2020-03-05 10:03:44 +00:00
import React, {Component} from 'react';
import {Button, Form, Grid, Header, Image, Icon, Message} from 'semantic-ui-react';
2020-03-07 09:54:42 +00:00
import { call } from '../client_server';
2020-03-05 10:03:44 +00:00
export default class ChangePass extends Component {
constructor(props) {
super(props);
this.state = {
password: "",
error: {
state: false,
message: "",
}
}
}
onChangeHandler = (event) => {
let nam = event.target.name;
let val = event.target.value;
this.setState({[nam]: val});
};
checkpassword = (e) => {
if (e.target.value !== this.state.password) {
this.setState({error: {
state : true,
message : "Passwords do not match.",
}});
}
};
handleChangePassword = (e) => {
2020-03-07 09:54:42 +00:00
const params = {
"confirmationToken" : this.props.query.confirmationToken ,
"password" : this.state.password
}
call.resetPassword(params)
.then(res => {
if (res.status === "Errore") {
this.setState({ error: { state: true,
message: "Errore"}});
}
// else set a message that an email has been sent
}).catch(err => {
console.log(err);
});
2020-03-05 10:03:44 +00:00
};
render() {
return (
<React.Fragment>
<Button
circular
style={{margin: "2em"}}
href="/"
>
<Icon name='arrow alternate circle left'/>
Go Home </Button>
<Grid textAlign='center' style={{height: '70vh'}} verticalAlign='middle'>
<Grid.Column style={{maxWidth: 450}}>
<Header as='h2' color='blue' textAlign='center'>
<Image src='img/logo.png'/> Reset Password
</Header>
<Form size='large' style={{marginTop : "2em"}} error={this.state.error.state}>
<Message
error
header='Change Password Error'
content= {this.state.error.message}
/>
<Form.Input
icon='address card outline'
iconPosition='left'
placeholder='Reset your password'
name="password"
type='password'
onChange={this.onChangeHandler}
required
/>
<Form.Input
icon='address card outline'
iconPosition='left'
placeholder='Confirm Password'
name="confirm-password"
type='password'
onChange={this.checkpassword}
required
/>
<Button color='blue' fluid size='large' onClick={this.handleChangePassword}>
Confirm password
</Button>
</Form>
</Grid.Column>
</Grid>
</React.Fragment>
)
}
}