diff --git a/src/pages/forgotPassword.tsx b/src/pages/forgotPassword.tsx index 0703298..48579b9 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,13 +31,16 @@ export default function ForgotPassword() { setSame(false) }, [rota]) - function handleChangePassword() { - if (same) { - router.push('/') - } else { - null + + const handleCloseSnack = (event?: React.SyntheticEvent | Event, reason?: string) => { + if (reason === 'clickaway') { + return; } - } + setOpenSnackError(false); + setOpenSnackSuccess(false); + }; + + useEffect(() => { if (password == confirmPassword && password != '') { @@ -39,8 +50,17 @@ 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 ( - + Smart Energia @@ -52,7 +72,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 +96,21 @@ export default function ForgotPassword() { ) } +export const getServerSideProps: GetServerSideProps = async (ctx) => { + const { ['@smartAuth-token']: token } = parseCookies(ctx) + const { ['user-name']: userName } = parseCookies(ctx) + if (!token) { + return { + redirect: { + destination: '/', + permanent: false + } + } + } + + return { + props: { + userName + } + } +} diff --git a/src/pages/verifyEmail.tsx b/src/pages/verifyEmail.tsx index 99591f9..5b10942 100644 --- a/src/pages/verifyEmail.tsx +++ b/src/pages/verifyEmail.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react' import Image from 'next/image'; import { useRouter } from 'next/router' - +import FormData from 'form-data'; import LoginButton from '../components/buttons/loginButton/LoginButton'; import TextField from '@mui/material/TextField'; @@ -10,12 +10,18 @@ import Alert from '@mui/material/Alert'; import { VerifyEmailContainer, VerifyEmailView } from '../styles/layouts/forgotPassword/verifyEmail'; import RenderIf from '../utils/renderIf'; import Head from 'next/head'; +import { api } from '../services/api'; +import { GetServerSideProps } from 'next'; +import { parseCookies } from 'nookies'; export default function VerifyEmail() { const [sent, setSent]=useState(false); const [code, setCode]=useState('') const [codeStatus, setCodeStatus]=useState(null) - + const formData = new FormData(); + const [openSnackSuccess, setOpenSnackSuccess] = useState(false); + const [openSnackError, setOpenSnackError] = useState(false); + const [email, setEmail] = useState(); const [values, setValues] = React.useState({ password: '', showPassword: false, @@ -30,6 +36,15 @@ export default function VerifyEmail() { setCodeStatus(null) }, [rota]) + function handleSendEmail() { + formData.append('email', email) + api.post('/auth/forgot-password', formData).then(res => { + setOpenSnackSuccess(true) + }).catch(res => { + setOpenSnackError(true) + }) + } + function verifyConfirmationCode() { if (code === '0000') { setTimeout(() => { @@ -50,13 +65,10 @@ export default function VerifyEmail() {

Bem-Vindo

Estratégias Inteligentes em
Gestão de Energia

- - setSent(true)} /> + handleSendEmail()} /> - - setCode(value.target.value)} /> @@ -79,3 +91,22 @@ export default function VerifyEmail() { ) } + +export const getServerSideProps: GetServerSideProps = async (ctx) => { + const { ['@smartAuth-token']: token } = parseCookies(ctx) + const { ['user-name']: userName } = parseCookies(ctx) + if (!token) { + return { + redirect: { + destination: '/', + permanent: false + } + } + } + + return { + props: { + userName + } + } +}