diff --git a/ui100/src/ForgotPassword.tsx b/ui100/src/ForgotPassword.tsx index 6b047f6c..bd7a1bdf 100644 --- a/ui100/src/ForgotPassword.tsx +++ b/ui100/src/ForgotPassword.tsx @@ -1,38 +1,96 @@ import {Box, Button, Container, TextField, Typography} from "@mui/material"; -import {useState} from "react"; -import zroket from "./assets/zrok-1.0.0-rocket-purple.svg"; +import zrokLogo from "./assets/zrok-1.0.0-rocket-purple.svg"; import {Link} from "react-router"; +import {AccountApi} from "./api"; +import {useFormik} from "formik"; +import * as Yup from 'yup'; +import {useState} from "react"; + +interface ForgotPasswordFormProps { + doRequest: ({ email: string }) => void; +} + +const ForgotPasswordForm = ({ doRequest }: ForgotPasswordFormProps) => { + const form = useFormik({ + initialValues: { + email: "" + }, + onSubmit: v => { + console.log(v); + doRequest(v.email); + }, + validationSchema: Yup.object({ + email: Yup.string().email() + }) + }); + + return ( +
+

Forgot Your Password?

+ + + + Return to Login + + + ); +} + +const RequestSubmittedMessage = () => { + return ( + +

Request Submitted...

+ +

+ If your email address is found, you will be sent an email with a link to reset your password. +

+
+ +

+ Please check your "spam" folder for this email if you do not receive it after a few minutes! +

+
+ + Return to Login + +
+ ); +} const ForgotPassword = () => { - const [email, setEmail] = useState(""); + const requestResetPassword = (email) => { + console.log("requestResetPassword", email); + new AccountApi().resetPasswordRequest({body: {emailAddress: email}}) + .then(() => { + setControl(); + }) + .catch(e => { + console.log("resetPasswordRequest", e); + }) + } + + const [control, setControl] = useState(); return ( - +

z r o k

- -

Forgot Your Password?

- { setEmail(v.target.value) }} - /> - - - Return to Login - -
+ {control}