From a335bfacfcdad25e5bcf2070168bea2c1a839dd6 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 25 Jul 2022 23:29:22 -0700 Subject: [PATCH] Add verify email component, make email reset url match backend naming --- .../web/components/templates/VerifyEmail.tsx | 53 +++++++++++++++++++ packages/web/pages/forgot-password.tsx | 36 +++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 packages/web/components/templates/VerifyEmail.tsx create mode 100644 packages/web/pages/forgot-password.tsx diff --git a/packages/web/components/templates/VerifyEmail.tsx b/packages/web/components/templates/VerifyEmail.tsx new file mode 100644 index 000000000..28a9103c5 --- /dev/null +++ b/packages/web/components/templates/VerifyEmail.tsx @@ -0,0 +1,53 @@ +import { Box, HStack, MediumBreakpointBox, SpanBox, VStack } from '../elements/LayoutPrimitives' +import type { LoginFormProps } from './LoginForm' +import { OmnivoreNameLogo } from '../elements/images/OmnivoreNameLogo' +import { theme } from '../tokens/stitches.config' + +export function VerifyEmail(props: LoginFormProps): JSX.Element { + return ( + <> + + +

Verify your email address

+ + We sent a verification link to the email you provided. Click the link to verify your email. You may need to check your spam folder. + +
+
+ + + + + + + ) +} diff --git a/packages/web/pages/forgot-password.tsx b/packages/web/pages/forgot-password.tsx new file mode 100644 index 000000000..3ad70ee63 --- /dev/null +++ b/packages/web/pages/forgot-password.tsx @@ -0,0 +1,36 @@ +import { PageMetaData } from '../components/patterns/PageMetaData' +import { ProfileLayout } from '../components/templates/ProfileLayout' +import { EmailResetPassword } from '../components/templates/EmailResetPassword' +import { useEffect } from 'react' +import { useRouter } from 'next/router' +import toast, { Toaster } from 'react-hot-toast' +import { showSuccessToast } from '../lib/toastHelpers' + +export default function ForgotPassword(): JSX.Element { + const router = useRouter() + + useEffect(() => { + if (router && router.isReady && router.query.message === 'SUCCESS') { + showSuccessToast('Reset password email sent') + setTimeout(() => { + window.location.href = '/email-login' + }, 2000) + } + }, [router]) + + + return ( + <> + + + + + +
+ + ) +}