From 0976a120d2dc4d4b7e58a4ace5678b1fa82d2f95 Mon Sep 17 00:00:00 2001 From: smamudhan <48641776+smamudhan@users.noreply.github.com> Date: Sat, 27 Jul 2019 11:27:43 +0530 Subject: [PATCH 1/2] Added resetpassword.js --- src/pages/resetpassword.js | 103 +++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/pages/resetpassword.js diff --git a/src/pages/resetpassword.js b/src/pages/resetpassword.js new file mode 100644 index 0000000..78c302a --- /dev/null +++ b/src/pages/resetpassword.js @@ -0,0 +1,103 @@ +import React, { Component } from "react" +import { navigate, Link } from "gatsby" +import styled from "@emotion/styled" +import { compose } from "recompose" +import { format } from "date-fns" +import { withTheme } from "emotion-theming" + +import { SimpleNavbar } from "components/Navbar" +import { Input, Button, P } from "components/elements" +import Layout from "components/Layout" +import { FirebaseContext } from "components/firebase" +import { SIZES } from "styles/constants" + +const LoginGrid = styled.div` + display: grid; + grid-template-columns: 1fr; + grid-gap: 10px; +` +const LoginLayout = styled.div` + max-width: ${SIZES.smallWidth}; + width: 100%; + margin: 20px auto; +` + +const LoginPage = ({ theme }) => ( + + + +

+ Enter your email and we'll email you a password reset link! +

+ + {firebase => } + +

+ Don't have an account?{" "} + + Sign Up + +

+
+
+) + +class LoginFormBase extends Component { + constructor(props) { + super(props) + + this.state = { email: "", error: null } + } + + onSubmit = event => { + event.preventDefault() + const { email } = this.state + + this.props.firebase + .doPasswordReset(email) + .then(() => { + this.setState({ email: "", error: null }) + navigate(`index`) + }) + .catch(error => { + this.setState({ error }) + }) + } + + onChange = event => { + this.setState({ [event.target.name]: event.target.value }) + } + + render() { + const { email, error } = this.state + const { theme } = this.props + + const isInvalid = email === "" + + return ( +
+ + + + + + {error &&

{error.message}

} +
+ ) + } +} + +const LoginForm = compose(withTheme)(LoginFormBase) + +export default withTheme(LoginPage) + +export { LoginForm } From c3e97af0555d758c21e75be32354e1e64cbb3047 Mon Sep 17 00:00:00 2001 From: smamudhan <48641776+smamudhan@users.noreply.github.com> Date: Sat, 27 Jul 2019 11:31:33 +0530 Subject: [PATCH 2/2] Update login.js Updated login.js to add redirect to reset password --- src/pages/login.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pages/login.js b/src/pages/login.js index 155e82c..63f793b 100644 --- a/src/pages/login.js +++ b/src/pages/login.js @@ -34,6 +34,11 @@ const LoginPage = ({ theme }) => ( Sign Up +
+ Or{" "} + + Reset Password +