From b1600adec47a04f60e1da07d94a3ed3906ff5aee Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Thu, 14 Jun 2018 16:44:21 -0400 Subject: starter files --- finished-application/frontend/components/Reset.js | 85 +++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 finished-application/frontend/components/Reset.js (limited to 'finished-application/frontend/components/Reset.js') diff --git a/finished-application/frontend/components/Reset.js b/finished-application/frontend/components/Reset.js new file mode 100644 index 0000000..bb2ece0 --- /dev/null +++ b/finished-application/frontend/components/Reset.js @@ -0,0 +1,85 @@ +import React from 'react'; +import { Mutation } from 'react-apollo'; +import PropTypes from 'prop-types'; +import gql from 'graphql-tag'; +import Form from './styles/Form'; +import Error from './ErrorMessage'; +import { CURRENT_USER_QUERY } from './User'; + +const RESET_MUTATION = gql` + mutation RESET_MUTATION($resetToken: String!, $password: String!, $confirmPassword: String!) { + resetPassword(resetToken: $resetToken, password: $password, confirmPassword: $confirmPassword) { + id + email + name + } + } +`; + +class Reset extends React.Component { + static propTypes = { + resetToken: PropTypes.string.isRequired, + }; + + state = { + confirmPassword: '', + password: '', + }; + + saveToState = e => { + const { name, value } = e.target; + this.setState({ [name]: value }); + }; + + resetPassword = async (e, resetMutation) => { + e.preventDefault(); + await resetMutation(); + }; + + render() { + return ( + + {(resetMutation, { error, loading }) => ( +
this.resetPassword(e, resetMutation)}> + +
+ + + + +
+ + )} +
+ ); + } +} + +export default Reset; +export { RESET_MUTATION }; -- cgit v1.3