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
+
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 (
+
+ )
+ }
+}
+
+const LoginForm = compose(withTheme)(LoginFormBase)
+
+export default withTheme(LoginPage)
+
+export { LoginForm }