From 268e7cee101a1beba0e80af3550fe83ab56fdd04 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Tue, 14 Aug 2018 12:01:14 -0400 Subject: 31 and 32 --- .../31/frontend/components/RequestReset.js | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 stepped-solutions/31/frontend/components/RequestReset.js (limited to 'stepped-solutions/31/frontend/components/RequestReset.js') diff --git a/stepped-solutions/31/frontend/components/RequestReset.js b/stepped-solutions/31/frontend/components/RequestReset.js new file mode 100755 index 0000000..dbc77ab --- /dev/null +++ b/stepped-solutions/31/frontend/components/RequestReset.js @@ -0,0 +1,58 @@ +import React, { Component } from 'react'; +import { Mutation } from 'react-apollo'; +import gql from 'graphql-tag'; +import Form from './styles/Form'; +import Error from './ErrorMessage'; + +const REQUEST_RESET_MUTATION = gql` + mutation REQUEST_RESET_MUTATION($email: String!) { + requestReset(email: $email) { + message + } + } +`; + +class Signin extends Component { + state = { + email: '', + }; + saveToState = e => { + this.setState({ [e.target.name]: e.target.value }); + }; + render() { + return ( + + {(reset, { error, loading, called }) => ( +
{ + e.preventDefault(); + await reset(); + this.setState({ email: '' }); + }} + > +
+

Request a password reset

+ + {!error && !loading && called &&

Success! Check your email for a reset link!

} + + + +
+
+ )} +
+ ); + } +} + +export default Signin; -- cgit v1.3