diff --git a/src/pages/forgotPassword.tsx b/src/pages/forgotPassword.tsx index 0703298..72c586d 100644 --- a/src/pages/forgotPassword.tsx +++ b/src/pages/forgotPassword.tsx @@ -1,21 +1,29 @@ import React, { useState, useEffect } from 'react' import Image from 'next/image'; import { useRouter } from 'next/router' - +import FormData from 'form-data'; +import Snackbar from '@mui/material/Snackbar'; import LoginButton from '../components/buttons/loginButton/LoginButton'; import TextField from '@mui/material/TextField'; import { ForgotPasswordContainer, ForgotPasswordView } from '../styles/layouts/forgotPassword/ForgotPasswordView'; import RenderIf from '../utils/renderIf'; import Alert from '@mui/material/Alert'; import Head from 'next/head'; +import { GetServerSideProps } from 'next'; +import { parseCookies } from 'nookies'; +import getAPIClient from '../services/ssrApi'; +import { api } from '../services/api'; export default function ForgotPassword() { const router = useRouter() const rota = router.pathname - + const formData = new FormData(); + const [openSnackSuccess, setOpenSnackSuccess] = useState(false); + const [openSnackError, setOpenSnackError] = useState(false); const [password, setPassword] = useState('') const [confirmPassword, setConfirmPassword] = useState('') const [same, setSame] = useState(false) + const [email, setEmail] = useState(); useEffect(() => { setPassword('') @@ -23,6 +31,15 @@ export default function ForgotPassword() { setSame(false) }, [rota]) + + const handleCloseSnack = (event?: React.SyntheticEvent | Event, reason?: string) => { + if (reason === 'clickaway') { + return; + } + setOpenSnackError(false); + setOpenSnackSuccess(false); + }; + function handleChangePassword() { if (same) { router.push('/') @@ -39,6 +56,15 @@ export default function ForgotPassword() { } }, [password]) + function handleSendEmail() { + formData.append('email', email) + api.post('/auth/forgot-password', formData).then(res => { + setOpenSnackSuccess(true) + }).catch(res => { + setOpenSnackError(true) + }) + } + return ( @@ -52,7 +78,18 @@ export default function ForgotPassword() { setPassword(value.target.value)} variant="outlined"/> setConfirmPassword(value.target.value)} variant="outlined"/> - handleChangePassword()} /> + handleSendEmail()} /> + + + + PDF enviado com Sucesso! + + + + + Falha ao enviar PDF! + +
Ou @@ -65,3 +102,22 @@ export default function ForgotPassword() { ) } +export const getServerSideProps: GetServerSideProps = async (ctx) => { + const apiClient = getAPIClient(ctx) + const { ['@smartAuth-token']: token } = parseCookies(ctx) + const { ['user-name']: userName } = parseCookies(ctx) + if (!token) { + return { + redirect: { + destination: '/', + permanent: false + } + } + } + + return { + props: { + userName + } + } +}