From db6fc216aea6c6e9a693d5f63c6c6ca74a7610ab Mon Sep 17 00:00:00 2001 From: Alex Santos Date: Wed, 29 Jun 2022 01:42:19 -0300 Subject: [PATCH 1/7] Forgot Password --- src/pages/forgotPassword.tsx | 62 ++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 3 deletions(-) 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 + } + } +} From a139e09f9b1584dc0f66cfb4c4936d955a1629aa Mon Sep 17 00:00:00 2001 From: joseCorte-exe Date: Wed, 29 Jun 2022 08:16:34 -0300 Subject: [PATCH 2/7] fixing gross anual chart --- src/pages/accumulatedSavings.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/pages/accumulatedSavings.tsx b/src/pages/accumulatedSavings.tsx index 8de54d6..5d6bd1d 100644 --- a/src/pages/accumulatedSavings.tsx +++ b/src/pages/accumulatedSavings.tsx @@ -22,12 +22,7 @@ export default function AccumulatedSavings({graphData, years, userName}: any) {
{ - if (parseFloat(a.mes.slice(0,2)) > parseFloat(b.mes.slice(1,2))) return 1 - if (parseFloat(a.mes.slice(0,2)) < parseFloat(b.mes.slice(1,2))) return -1 - - return 0 - })} + dataProps={graphData} label={years} barLabel/>
From 6ea0ac91b563ad492441794e94b2d6bf1e172721 Mon Sep 17 00:00:00 2001 From: Alex Santos Date: Wed, 29 Jun 2022 09:50:55 -0300 Subject: [PATCH 3/7] update forgotPassword --- src/pages/forgotPassword.tsx | 11 ++-------- src/pages/verifyEmail.tsx | 41 +++++++++++++++++++++++++++++++----- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/pages/forgotPassword.tsx b/src/pages/forgotPassword.tsx index 72c586d..48579b9 100644 --- a/src/pages/forgotPassword.tsx +++ b/src/pages/forgotPassword.tsx @@ -40,13 +40,7 @@ export default function ForgotPassword() { setOpenSnackSuccess(false); }; - function handleChangePassword() { - if (same) { - router.push('/') - } else { - null - } - } + useEffect(() => { if (password == confirmPassword && password != '') { @@ -66,7 +60,7 @@ export default function ForgotPassword() { } return ( - + Smart Energia @@ -103,7 +97,6 @@ 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) { diff --git a/src/pages/verifyEmail.tsx b/src/pages/verifyEmail.tsx index 99591f9..7c27e74 100644 --- a/src/pages/verifyEmail.tsx +++ b/src/pages/verifyEmail.tsx @@ -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 + } + } +} From 15eb8ea430cd4fad72bcff04726df739a9f69fc1 Mon Sep 17 00:00:00 2001 From: Alex Santos Date: Wed, 29 Jun 2022 09:53:44 -0300 Subject: [PATCH 4/7] update forgotPassword --- src/pages/verifyEmail.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/verifyEmail.tsx b/src/pages/verifyEmail.tsx index 7c27e74..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'; From 18b576f04cf0a6c2fdb16c69006261465b6e86a7 Mon Sep 17 00:00:00 2001 From: joseCorte-exe Date: Wed, 29 Jun 2022 10:12:49 -0300 Subject: [PATCH 5/7] :building_construction: changing folder architecture --- src/components/graph/Chart.tsx | 10 +++--- src/components/graph/SingleBar.tsx | 4 +-- src/pages/{aboutUs.tsx => aboutUs/index.tsx} | 8 ++--- .../index.tsx} | 16 +++++----- .../index.tsx} | 30 ++++++++--------- .../index.tsx} | 10 +++--- .../index.tsx} | 10 +++--- .../{dashboard.tsx => dashboard/index.tsx} | 32 +++++++++---------- .../index.tsx} | 16 +++++----- src/pages/{faq.tsx => faq/index.tsx} | 12 +++---- .../index.tsx} | 10 +++--- .../index.tsx} | 14 ++++---- .../index.tsx} | 10 +++--- src/pages/{news.tsx => news/index.tsx} | 10 +++--- .../index.tsx} | 12 +++---- .../index.tsx} | 16 +++++----- .../{telemetria.tsx => telemetria/index.tsx} | 18 +++++------ .../index.tsx} | 8 ++--- src/styles/Home.module.css | 3 ++ src/styles/globals.ts | 3 ++ 20 files changed, 129 insertions(+), 123 deletions(-) rename src/pages/{aboutUs.tsx => aboutUs/index.tsx} (86%) rename src/pages/{accumulatedSavings.tsx => accumulatedSavings/index.tsx} (72%) rename src/pages/{chartTelemetry.tsx => chartTelemetry/index.tsx} (90%) rename src/pages/{consumption.tsx => consumption/index.tsx} (75%) rename src/pages/{costIndicator.tsx => costIndicator/index.tsx} (85%) rename src/pages/{dashboard.tsx => dashboard/index.tsx} (81%) rename src/pages/{estimatedCost.tsx => estimatedCost/index.tsx} (72%) rename src/pages/{faq.tsx => faq/index.tsx} (79%) rename src/pages/{forgotPassword.tsx => forgotPassword/index.tsx} (93%) rename src/pages/{grossSavings.tsx => grossSavings/index.tsx} (76%) rename src/pages/{industryInfo.tsx => industryInfo/index.tsx} (88%) rename src/pages/{news.tsx => news/index.tsx} (87%) rename src/pages/{notifications.tsx => notifications/index.tsx} (79%) rename src/pages/{resumoOperacao.tsx => resumoOperacao/index.tsx} (93%) rename src/pages/{telemetria.tsx => telemetria/index.tsx} (95%) rename src/pages/{verifyEmail.tsx => verifyEmail/index.tsx} (93%) diff --git a/src/components/graph/Chart.tsx b/src/components/graph/Chart.tsx index 6d9c8b3..706010f 100644 --- a/src/components/graph/Chart.tsx +++ b/src/components/graph/Chart.tsx @@ -59,11 +59,13 @@ export default function Chart({ title, data1, data2, label, subtitle, dataset1, return value==null? null : result }, - anchor: "end", - offset: -20, - align: "start", + anchor: "start", + offset: 20, + align: "end", + rotation: -90, font: { - size: 12 + size: 14, + weight: 800 } }, legend: { diff --git a/src/components/graph/SingleBar.tsx b/src/components/graph/SingleBar.tsx index 5875681..f090179 100644 --- a/src/components/graph/SingleBar.tsx +++ b/src/components/graph/SingleBar.tsx @@ -28,8 +28,6 @@ interface SingleBarInterface{ } export function SingleBar({ title, subtitle, dataProps, label, dataset, barLabel, brutoAnual }: SingleBarInterface) { - const currentTime = new Date(); - const options: object = { responsive: true, series: { @@ -90,7 +88,7 @@ export function SingleBar({ title, subtitle, dataProps, label, dataset, barLabel }, { label: '', - data: [dataProps[0]?.economia_acumulada?dataProps[0].economia_acumulada*1.1:1], + data: [dataProps[0]?.economia_acumulada?dataProps[0].economia_acumulada*1.1 : 1], backgroundColor: 'transparent', datalabels: { display: false diff --git a/src/pages/aboutUs.tsx b/src/pages/aboutUs/index.tsx similarity index 86% rename from src/pages/aboutUs.tsx rename to src/pages/aboutUs/index.tsx index 722e9a3..2e8732e 100644 --- a/src/pages/aboutUs.tsx +++ b/src/pages/aboutUs/index.tsx @@ -3,10 +3,10 @@ import Head from 'next/head' import Image from 'next/image' import { parseCookies } from 'nookies' import React from 'react' -import Banner from '../components/banner/Banner' -import Header from '../components/header/Header' -import getAPIClient from '../services/ssrApi' -import { AboutUsView } from '../styles/layouts/aboutUs/AboutUsView' +import Banner from '../../components/banner/Banner' +import Header from '../../components/header/Header' +import getAPIClient from '../../services/ssrApi' +import { AboutUsView } from '../../styles/layouts/aboutUs/AboutUsView' export default function aboutUs({userName, text}) { return ( diff --git a/src/pages/accumulatedSavings.tsx b/src/pages/accumulatedSavings/index.tsx similarity index 72% rename from src/pages/accumulatedSavings.tsx rename to src/pages/accumulatedSavings/index.tsx index 5d6bd1d..611a3a0 100644 --- a/src/pages/accumulatedSavings.tsx +++ b/src/pages/accumulatedSavings/index.tsx @@ -3,14 +3,14 @@ import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import Chart from '../components/graph/Chart' -import { SingleBar } from '../components/graph/SingleBar' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { EconomiaAcumulada } from '../services/economiaAcumulada' -import { dataEconomiaBruta } from '../services/economiaBruta' -import getAPIClient from '../services/ssrApi' -import { AccumulatedSavingsView } from '../styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView' +import Chart from '../../components/graph/Chart' +import { SingleBar } from '../../components/graph/SingleBar' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { EconomiaAcumulada } from '../../services/economiaAcumulada' +import { dataEconomiaBruta } from '../../services/economiaBruta' +import getAPIClient from '../../services/ssrApi' +import { AccumulatedSavingsView } from '../../styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView' export default function AccumulatedSavings({graphData, years, userName}: any) { return ( diff --git a/src/pages/chartTelemetry.tsx b/src/pages/chartTelemetry/index.tsx similarity index 90% rename from src/pages/chartTelemetry.tsx rename to src/pages/chartTelemetry/index.tsx index f195025..616b647 100644 --- a/src/pages/chartTelemetry.tsx +++ b/src/pages/chartTelemetry/index.tsx @@ -1,15 +1,15 @@ import React, { useEffect, useState } from 'react' -import { SingleBar } from '../components/graph/SingleBar' -import { ChatTelemetryView } from '../styles/layouts/ChatTelemetry/ChatTelemetryView' +import { SingleBar } from '../../components/graph/SingleBar' +import { ChatTelemetryView } from '../../styles/layouts/ChatTelemetry/ChatTelemetryView' // import router, { useRouter } from 'next/router' -import { FatorPotencia } from '../services/fatorPotencia' -import { ConsumoDecretizadoBar } from '../services/consumoDiscretizadoBar' -import { ConsumoDecretizadoLine } from '../services/consumoDiscretizadoLine' -import LineChart from '../components/graph/LineChart' -import { LineBarChart } from '../components/graph/LineBarChart' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' +import { FatorPotencia } from '../../services/fatorPotencia' +import { ConsumoDecretizadoBar } from '../../services/consumoDiscretizadoBar' +import { ConsumoDecretizadoLine } from '../../services/consumoDiscretizadoLine' +import LineChart from '../../components/graph/LineChart' +import { LineBarChart } from '../../components/graph/LineBarChart' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' import Head from 'next/head' import Box from '@mui/material/Box'; @@ -18,14 +18,14 @@ import Typography from '@mui/material/Typography'; import Modal from '@mui/material/Modal'; import { GetServerSideProps } from 'next' import { parseCookies } from 'nookies' -import getAPIClient from '../services/ssrApi' -import { api } from '../services/api' -import FatorPotenciaChart from '../components/graph/fatorPotenciaChart' +import getAPIClient from '../../services/ssrApi' +import { api } from '../../services/api' +import FatorPotenciaChart from '../../components/graph/fatorPotenciaChart' // import { DemRegXDemConChart } from '../components/graph/demRegXDemConChart' -import { DiscretizedConsumptionChart } from '../components/graph/DiscretizedConsumptionChart' -import DiscretizedConsumptionChartLine from '../components/graph/DiscretizedConsumptionChartLine' +import { DiscretizedConsumptionChart } from '../../components/graph/DiscretizedConsumptionChart' +import DiscretizedConsumptionChartLine from '../../components/graph/DiscretizedConsumptionChartLine' import router, { useRouter } from 'next/router' -import { DemRegXDemConChart } from '../components/graph/DemRegXDemConChart' +import { DemRegXDemConChart } from '../../components/graph/DemRegXDemConChart' const style = { display: 'flex', diff --git a/src/pages/consumption.tsx b/src/pages/consumption/index.tsx similarity index 75% rename from src/pages/consumption.tsx rename to src/pages/consumption/index.tsx index 1e7dadf..f5fc37c 100644 --- a/src/pages/consumption.tsx +++ b/src/pages/consumption/index.tsx @@ -2,11 +2,11 @@ import { GetServerSideProps } from 'next' import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import Chart from '../components/graph/Chart' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { dataEconomiaIndicador } from '../services/economiaIndicador' -import { ConsumptionView } from '../styles/layouts/consumption/ConsumptionView' +import Chart from '../../components/graph/Chart' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { dataEconomiaIndicador } from '../../services/economiaIndicador' +import { ConsumptionView } from '../../styles/layouts/consumption/ConsumptionView' export default function Consumption({userName}: any) { return ( diff --git a/src/pages/costIndicator.tsx b/src/pages/costIndicator/index.tsx similarity index 85% rename from src/pages/costIndicator.tsx rename to src/pages/costIndicator/index.tsx index 776e711..295c1eb 100644 --- a/src/pages/costIndicator.tsx +++ b/src/pages/costIndicator/index.tsx @@ -3,11 +3,11 @@ import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import Chart from '../components/graph/Chart' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import getAPIClient from '../services/ssrApi' -import { CostIndicatorView } from '../styles/layouts/economy/costIndicator/CostIndicatorView' +import Chart from '../../components/graph/Chart' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import getAPIClient from '../../services/ssrApi' +import { CostIndicatorView } from '../../styles/layouts/economy/costIndicator/CostIndicatorView' export default function CostIndicator({graphData, userName}: any) { return ( diff --git a/src/pages/dashboard.tsx b/src/pages/dashboard/index.tsx similarity index 81% rename from src/pages/dashboard.tsx rename to src/pages/dashboard/index.tsx index c3bdc50..5a64a93 100644 --- a/src/pages/dashboard.tsx +++ b/src/pages/dashboard/index.tsx @@ -1,27 +1,27 @@ import React from 'react' -import { DashboardView } from '../styles/layouts/dashboard/DashboardView' +import { DashboardView } from '../../styles/layouts/dashboard/DashboardView' -import MapCard from '../components/mapCard/MapCard' -import GraphCard from '../components/graph/graphCard/ChartCard' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' +import MapCard from '../../components/mapCard/MapCard' +import GraphCard from '../../components/graph/graphCard/ChartCard' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' import Link from 'next/link' -import LineChart from '../components/graph/LineChart' -import { SingleBar } from '../components/graph/SingleBar' +import LineChart from '../../components/graph/LineChart' +import { SingleBar } from '../../components/graph/SingleBar' -import { dataEconomiaBruta } from '../services/economiaBruta' -import { dataEconomiaIndicador } from '../services/economiaIndicador' -import { EconomiaAcumulada } from '../services/economiaAcumulada' -import Chart from '../components/graph/Chart' -import { LineBarChart } from '../components/graph/LineBarChart' -import { LineBarChart2 } from '../components/graph/LineBarChart2' -import { ConsumoEstimado } from '../services/consumoEstimado' +import { dataEconomiaBruta } from '../../services/economiaBruta' +import { dataEconomiaIndicador } from '../../services/economiaIndicador' +import { EconomiaAcumulada } from '../../services/economiaAcumulada' +import Chart from '../../components/graph/Chart' +import { LineBarChart } from '../../components/graph/LineBarChart' +import { LineBarChart2 } from '../../components/graph/LineBarChart2' +import { ConsumoEstimado } from '../../services/consumoEstimado' import Head from 'next/head' -import recoverUserInformation from '../services/auth' +import recoverUserInformation from '../../services/auth' import { parseCookies } from 'nookies' import { GetServerSideProps } from 'next' -import getAPIClient from '../services/ssrApi' +import getAPIClient from '../../services/ssrApi' export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensalGraph, grossMensalYears, acumulatedGraph, mapsInfo, userName, costIndicator} : any) { return ( diff --git a/src/pages/estimatedCost.tsx b/src/pages/estimatedCost/index.tsx similarity index 72% rename from src/pages/estimatedCost.tsx rename to src/pages/estimatedCost/index.tsx index 7cc1d66..50ab7aa 100644 --- a/src/pages/estimatedCost.tsx +++ b/src/pages/estimatedCost/index.tsx @@ -3,14 +3,14 @@ import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import Chart from '../components/graph/Chart' -import { LineBarChart } from '../components/graph/LineBarChart' -import { LineBarChart2 } from '../components/graph/LineBarChart2' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { ConsumoEstimado } from '../services/consumoEstimado' -import getAPIClient from '../services/ssrApi' -import { EstimatedCostView } from '../styles/layouts/economy/estimatedCost/EstimatedCostView' +import Chart from '../../components/graph/Chart' +import { LineBarChart } from '../../components/graph/LineBarChart' +import { LineBarChart2 } from '../../components/graph/LineBarChart2' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { ConsumoEstimado } from '../../services/consumoEstimado' +import getAPIClient from '../../services/ssrApi' +import { EstimatedCostView } from '../../styles/layouts/economy/estimatedCost/EstimatedCostView' export default function EstimatedCost({graphData, userName}: any) { return ( diff --git a/src/pages/faq.tsx b/src/pages/faq/index.tsx similarity index 79% rename from src/pages/faq.tsx rename to src/pages/faq/index.tsx index a762df3..edce73a 100644 --- a/src/pages/faq.tsx +++ b/src/pages/faq/index.tsx @@ -2,12 +2,12 @@ import { GetServerSideProps } from 'next' import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import CommonQuestionsCard from '../components/faqQuestionsCard/FaqQuestionsCard' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { api } from '../services/api' -import getAPIClient from '../services/ssrApi' -import { FaqView } from '../styles/layouts/commonQuestions/FaqView' +import CommonQuestionsCard from '../../components/faqQuestionsCard/FaqQuestionsCard' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { api } from '../../services/api' +import getAPIClient from '../../services/ssrApi' +import { FaqView } from '../../styles/layouts/commonQuestions/FaqView' export default function commonQuestions({faqData, userName}) { diff --git a/src/pages/forgotPassword.tsx b/src/pages/forgotPassword/index.tsx similarity index 93% rename from src/pages/forgotPassword.tsx rename to src/pages/forgotPassword/index.tsx index 48579b9..3e9ce14 100644 --- a/src/pages/forgotPassword.tsx +++ b/src/pages/forgotPassword/index.tsx @@ -3,16 +3,16 @@ 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 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 { 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'; +import getAPIClient from '../../services/ssrApi'; +import { api } from '../../services/api'; export default function ForgotPassword() { const router = useRouter() diff --git a/src/pages/grossSavings.tsx b/src/pages/grossSavings/index.tsx similarity index 76% rename from src/pages/grossSavings.tsx rename to src/pages/grossSavings/index.tsx index 6612304..aa0df7a 100644 --- a/src/pages/grossSavings.tsx +++ b/src/pages/grossSavings/index.tsx @@ -3,14 +3,14 @@ import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import Chart from '../components/graph/Chart' -import { SingleBar } from '../components/graph/SingleBar' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { dataEconomiaBruta } from '../services/economiaBruta' -import getAPIClient from '../services/ssrApi' +import Chart from '../../components/graph/Chart' +import { SingleBar } from '../../components/graph/SingleBar' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { dataEconomiaBruta } from '../../services/economiaBruta' +import getAPIClient from '../../services/ssrApi' -import { GrossSavingsView } from '../styles/layouts/economy/grossSavings/GrossSavings' +import { GrossSavingsView } from '../../styles/layouts/economy/grossSavings/GrossSavings' export default function GrossSavings({graphData, years, userName}: any) { return ( diff --git a/src/pages/industryInfo.tsx b/src/pages/industryInfo/index.tsx similarity index 88% rename from src/pages/industryInfo.tsx rename to src/pages/industryInfo/index.tsx index 21b569c..89436ef 100644 --- a/src/pages/industryInfo.tsx +++ b/src/pages/industryInfo/index.tsx @@ -2,11 +2,11 @@ import { GetServerSideProps } from 'next' import Head from 'next/head' import { parseCookies } from 'nookies' import React, { useState } from 'react' -import BasicButton from '../components/buttons/basicButton/BasicButton' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { api } from '../services/api' -import { IndustryInfoView } from '../styles/layouts/industryInfo/IndustryInfoView' +import BasicButton from '../../components/buttons/basicButton/BasicButton' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { api } from '../../services/api' +import { IndustryInfoView } from '../../styles/layouts/industryInfo/IndustryInfoView' import Snackbar from '@mui/material/Snackbar'; import MuiAlert, { AlertProps } from '@mui/material/Alert'; diff --git a/src/pages/news.tsx b/src/pages/news/index.tsx similarity index 87% rename from src/pages/news.tsx rename to src/pages/news/index.tsx index 4882be4..7d0e490 100644 --- a/src/pages/news.tsx +++ b/src/pages/news/index.tsx @@ -6,11 +6,11 @@ import { Router } from 'next/router'; import { parseCookies } from 'nookies'; import React from 'react' -import Banner from '../components/banner/Banner' -import BasicButton from '../components/buttons/basicButton/BasicButton'; -import Header from '../components/header/Header' -import getAPIClient from '../services/ssrApi'; -import { Button, NewsView } from '../styles/layouts/news/NewsView' +import Banner from '../../components/banner/Banner' +import BasicButton from '../../components/buttons/basicButton/BasicButton'; +import Header from '../../components/header/Header' +import getAPIClient from '../../services/ssrApi'; +import { Button, NewsView } from '../../styles/layouts/news/NewsView' export default function aboutUs({userName, news}: any) { console.log(news.channel.item) diff --git a/src/pages/notifications.tsx b/src/pages/notifications/index.tsx similarity index 79% rename from src/pages/notifications.tsx rename to src/pages/notifications/index.tsx index 7728130..c41629a 100644 --- a/src/pages/notifications.tsx +++ b/src/pages/notifications/index.tsx @@ -2,12 +2,12 @@ import { GetServerSideProps } from 'next' import Head from 'next/head' import { parseCookies } from 'nookies' import React from 'react' -import NotificationQuestionsCard from '../components/NotificationQuestionsCard/NotificationQuestionsCard' -import Header from '../components/header/Header' -import PageTitle from '../components/pageTitle/PageTitle' -import { api } from '../services/api' -import getAPIClient from '../services/ssrApi' -import { FaqView } from '../styles/layouts/commonQuestions/FaqView' +import NotificationQuestionsCard from '../../components/NotificationQuestionsCard/NotificationQuestionsCard' +import Header from '../../components/header/Header' +import PageTitle from '../../components/pageTitle/PageTitle' +import { api } from '../../services/api' +import getAPIClient from '../../services/ssrApi' +import { FaqView } from '../../styles/layouts/commonQuestions/FaqView' export default function Notifications({notificationData, userName}: any) { return ( diff --git a/src/pages/resumoOperacao.tsx b/src/pages/resumoOperacao/index.tsx similarity index 93% rename from src/pages/resumoOperacao.tsx rename to src/pages/resumoOperacao/index.tsx index fd36784..7eebb84 100644 --- a/src/pages/resumoOperacao.tsx +++ b/src/pages/resumoOperacao/index.tsx @@ -10,15 +10,15 @@ import React, { useEffect, useState } from 'react'; // import Teste from '../files/teste.csv'; import { CSVDownload, CSVLink } from "react-csv"; -import BasicButton from '../components/buttons/basicButton/BasicButton'; -import Header from '../components/header/Header'; -import PageTitle from '../components/pageTitle/PageTitle'; -import Sidebar from '../components/sidebar/Sidebar'; -import { api } from '../services/api'; +import BasicButton from '../../components/buttons/basicButton/BasicButton'; +import Header from '../../components/header/Header'; +import PageTitle from '../../components/pageTitle/PageTitle'; +import Sidebar from '../../components/sidebar/Sidebar'; +import { api } from '../../services/api'; // import { dados } from '../services/DadosTabelaResumoOperacao'; -import data from '../services/dados.json' -import getAPIClient from '../services/ssrApi'; -import { Pagination, TableView } from '../styles/layouts/ResumoOperacao/ResumoOperacaoView'; +import data from '../../services/dados.json' +import getAPIClient from '../../services/ssrApi'; +import { Pagination, TableView } from '../../styles/layouts/ResumoOperacao/ResumoOperacaoView'; export default function ResumoOperacao({tableData, clientsData, userName, clientMonth}: any) { const csvData = tableData; diff --git a/src/pages/telemetria.tsx b/src/pages/telemetria/index.tsx similarity index 95% rename from src/pages/telemetria.tsx rename to src/pages/telemetria/index.tsx index 765eb78..689e671 100644 --- a/src/pages/telemetria.tsx +++ b/src/pages/telemetria/index.tsx @@ -1,9 +1,9 @@ import React, { useEffect, useState } from 'react'; -import Banner from '../components/banner/Banner'; -import { TelemetriaView, Buttons} from '../styles/layouts/Telemetria/TelemetriaView'; -import GradientButton from '../components/buttons/gradientButton/GradientButton' -import Header from '../components/header/Header'; +import Banner from '../../components/banner/Banner'; +import { TelemetriaView, Buttons} from '../../styles/layouts/Telemetria/TelemetriaView'; +import GradientButton from '../../components/buttons/gradientButton/GradientButton' +import Header from '../../components/header/Header'; import MenuItem from '@mui/material/MenuItem'; import InputLabel from '@mui/material/InputLabel'; import FormControl from '@mui/material/FormControl'; @@ -11,15 +11,15 @@ import Select, { SelectChangeEvent } from '@mui/material/Select'; import Link from 'next/link'; import Head from 'next/head'; import { start } from 'nprogress'; -import LineChart from '../components/graph/LineChart'; -import { FatorPotencia } from '../services/fatorPotencia'; -import RenderIf from '../utils/renderIf'; +import LineChart from '../../components/graph/LineChart'; +import { FatorPotencia } from '../../services/fatorPotencia'; +import RenderIf from '../../utils/renderIf'; import { GetServerSideProps } from 'next'; import { parseCookies } from 'nookies'; -import { api } from '../services/api'; +import { api } from '../../services/api'; import Snackbar from '@mui/material/Snackbar' import MuiAlert, { AlertProps } from '@mui/material/Alert' -import getAPIClient from '../services/ssrApi'; +import getAPIClient from '../../services/ssrApi'; const style = { position: 'absolute' as const, diff --git a/src/pages/verifyEmail.tsx b/src/pages/verifyEmail/index.tsx similarity index 93% rename from src/pages/verifyEmail.tsx rename to src/pages/verifyEmail/index.tsx index 5b10942..3024581 100644 --- a/src/pages/verifyEmail.tsx +++ b/src/pages/verifyEmail/index.tsx @@ -2,15 +2,15 @@ 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 LoginButton from '../../components/buttons/loginButton/LoginButton'; import TextField from '@mui/material/TextField'; import Alert from '@mui/material/Alert'; -import { VerifyEmailContainer, VerifyEmailView } from '../styles/layouts/forgotPassword/verifyEmail'; -import RenderIf from '../utils/renderIf'; +import { VerifyEmailContainer, VerifyEmailView } from '../../styles/layouts/forgotPassword/verifyEmail'; +import RenderIf from '../../utils/renderIf'; import Head from 'next/head'; -import { api } from '../services/api'; +import { api } from '../../services/api'; import { GetServerSideProps } from 'next'; import { parseCookies } from 'nookies'; diff --git a/src/styles/Home.module.css b/src/styles/Home.module.css index 567de43..e6710a6 100644 --- a/src/styles/Home.module.css +++ b/src/styles/Home.module.css @@ -1,3 +1,6 @@ +@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); + .someCSSModulesClass :global .any-global-class { margin: 0; padding: 0; diff --git a/src/styles/globals.ts b/src/styles/globals.ts index b70c240..3330e31 100644 --- a/src/styles/globals.ts +++ b/src/styles/globals.ts @@ -1,6 +1,9 @@ import { createGlobalStyle } from 'styled-components' export const GlobalStyle = createGlobalStyle` + @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); + @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); + body::-webkit-scrollbar { width: 15px; } From 2980c5be74a670054aaf7c7b9c4a6b156e3ee50d Mon Sep 17 00:00:00 2001 From: joseCorte-exe Date: Wed, 29 Jun 2022 10:22:28 -0300 Subject: [PATCH 6/7] changin data positioning and color at cost indicator chart] --- src/components/graph/Chart.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/graph/Chart.tsx b/src/components/graph/Chart.tsx index 706010f..4c4e2bc 100644 --- a/src/components/graph/Chart.tsx +++ b/src/components/graph/Chart.tsx @@ -48,7 +48,10 @@ export default function Chart({ title, data1, data2, label, subtitle, dataset1, plugins: { datalabels: { display: true, - color: barLabel? 'black' : "rgba(255, 255, 255, 0)", + color: (value, ctx) => { + console.log(value) + return value.dataset.label==='2021'? 'black' : 'white' + }, formatter: (value, ctx) => { let sum = 0; const dataArr = ctx.chart.data.datasets[0].data; From 3d9d89eea6f9b14885bc19a8c5d78f50dfc980de Mon Sep 17 00:00:00 2001 From: joseCorte-exe Date: Wed, 29 Jun 2022 10:56:47 -0300 Subject: [PATCH 7/7] :sparkles: add forgot password --- src/pages/verifyEmail/index.tsx | 151 ++++++++++++++++++++++++-------- 1 file changed, 116 insertions(+), 35 deletions(-) diff --git a/src/pages/verifyEmail/index.tsx b/src/pages/verifyEmail/index.tsx index 3024581..bce5199 100644 --- a/src/pages/verifyEmail/index.tsx +++ b/src/pages/verifyEmail/index.tsx @@ -5,7 +5,8 @@ import FormData from 'form-data'; import LoginButton from '../../components/buttons/loginButton/LoginButton'; import TextField from '@mui/material/TextField'; -import Alert from '@mui/material/Alert'; +import Snackbar from '@mui/material/Snackbar' +import MuiAlert, { AlertProps } from '@mui/material/Alert' import { VerifyEmailContainer, VerifyEmailView } from '../../styles/layouts/forgotPassword/verifyEmail'; import RenderIf from '../../utils/renderIf'; @@ -14,31 +15,51 @@ import { api } from '../../services/api'; import { GetServerSideProps } from 'next'; import { parseCookies } from 'nookies'; +const Alert = React.forwardRef(function Alert( + props, + ref +) { + return +}) + 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 [openSnackSuccessPassword, setOpenSnackSuccessPassword] = useState(false); + const [openSnackErrorPassword, setOpenSnackErrorPassword] = useState(false); + const [email, setEmail] = useState(); - const [values, setValues] = React.useState({ - password: '', - showPassword: false, - }); + const [token, setToken] = useState(); + const [password, setPassword] = useState(); + const [password_confirmation, setPassword_confirmation] = useState(); const router = useRouter() const rota = router.pathname - useEffect(() => { - setCode('') - setSent(false) - setCodeStatus(null) - }, [rota]) + const handleCloseSnack = ( + event?: React.SyntheticEvent | Event, + reason?: string + ) => { + if (reason === 'clickaway') { + return + } + + setOpenSnackError(false) + setOpenSnackSuccess(false) + setOpenSnackErrorPassword(false) + setOpenSnackSuccessPassword(false) + } function handleSendEmail() { - formData.append('email', email) - api.post('/auth/forgot-password', formData).then(res => { + api.post('/auth/forgot-password', { + email + }).then(res => { + setSent(true) setOpenSnackSuccess(true) }).catch(res => { setOpenSnackError(true) @@ -46,36 +67,107 @@ export default function VerifyEmail() { } function verifyConfirmationCode() { - if (code === '0000') { + api.post('/auth/reset-password', { + email, + password, + password_confirmation, + token + }).then(res => { + setSent(true) + setOpenSnackSuccessPassword(true) setTimeout(() => { - router.push('/forgotPassword') - }, 2500); - setCodeStatus(true) - } else { - setCodeStatus(false) - } + router.push('/') + }, 2000); + }).catch(res => { + setOpenSnackErrorPassword(true) + }) } + useEffect(() => { + setCode('') + setSent(false) + setCodeStatus(null) + }, [rota]) + return ( Smart Energia - Verificar Email + + + Email enviado com sucesso! + + + + + Email não enviado! + + + + + Senha alterada com sucesso! + + + + + Senha não alterada! + + + router.push('/')} />

Bem-Vindo

Estratégias Inteligentes em
Gestão de Energia

- + setEmail(value.target.value)} variant="outlined"/> - handleSendEmail()} /> + { + handleSendEmail() + }} /> + - - setCode(value.target.value)} /> + setPassword(value.target.value)}/> + setPassword_confirmation(value.target.value)}/> + + setToken(value.target.value)}/> {verifyConfirmationCode()}} /> Codigo de veerificação aceito — aguarde um instante! + Codigo de verificação invalido — tente outro! @@ -93,20 +185,9 @@ 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 } } }