From 75c6a9b2b5a7996899e56ed12ab9899568946031 Mon Sep 17 00:00:00 2001
From: Gustavo S Frehse <gsf20@inf.ufpr.br>
Date: Thu, 4 Jul 2024 11:32:10 -0300
Subject: [PATCH] =?UTF-8?q?Come=C3=A7ando?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app/components/Overlay.js          |  6 +--
 src/app/entrar/components/LoginForm.js | 51 ++++++++++++++++++--------
 src/app/entrar/page.js                 |  4 +-
 3 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/src/app/components/Overlay.js b/src/app/components/Overlay.js
index 08afeef0..c424d02c 100644
--- a/src/app/components/Overlay.js
+++ b/src/app/components/Overlay.js
@@ -42,11 +42,7 @@ export default function Overlay({
   return (
     <Suspense fallback={<Loading />}>
       <ThemeProvider theme={theme}>
-        <main className="flex min-h-screen bg-main flex-col
-                         bg-fundo
-                         bg-repeat
-                         bg-fixed"
-        >
+        <main className="flex min-h-screen bg-main flex-col bg-fundo bg-repeat bg-fixed">
           <AcessibilityBar 
             handleOpenMenu={handleOpenMenu} 
             openMenu={openMenu}  
diff --git a/src/app/entrar/components/LoginForm.js b/src/app/entrar/components/LoginForm.js
index 0b55185c..d3056376 100644
--- a/src/app/entrar/components/LoginForm.js
+++ b/src/app/entrar/components/LoginForm.js
@@ -1,11 +1,6 @@
 "use client";
 import Image from "next/image";
-import {
-  Button,
-  Paper,
-  TextField,
-  Alert,
-} from "@mui/material";
+import { Button, Paper, TextField, Alert, Tooltip } from "@mui/material";
 import theme from "@/app/theme";
 import { ThemeProvider } from "@emotion/react";
 import { useState } from "react";
@@ -13,7 +8,7 @@ import SignupModal from "./SignupModal";
 import PasswordModal from "./PasswordModal";
 import Title from "@/app/components/Title";
 import { useRouter } from "next/navigation";
-
+import { redirect } from "next/dist/server/api-utils";
 
 export default function LoginForm({
   handleEmailChange,
@@ -29,6 +24,23 @@ export default function LoginForm({
   const handleOpenModalPasswd = () => setOpenModalPasswd(true);
   const handleCloseModalPasswd = () => setOpenModalPasswd(false);
 
+  const handleGovBr = () => {
+    const params = {
+      response_type: "code",
+      client_id: "mecredhomologa.c3sl.ufpr.br",
+      scope: "openid+email+profile+govbr_confiabilidades",
+      redirect_uri: "localhost",
+      nonce: "1121",
+      code_challenge: "Ra1GhTAFgJYB8p_uS8XfPnhBMcU1FDyZuIZ4akw5IAM",
+      code_challenge_method: "S256",
+    };
+
+    const searchParams = new URLSearchParams(params);
+    const url = `https://sso.staging.acesso.gov.br/authorize?${searchParams.toString()}`
+    console.log("indo para gov br", url);
+    window.location = url;
+  };
+
   const router = useRouter();
 
   return (
@@ -51,7 +63,9 @@ export default function LoginForm({
                 className="m-5"
               />
               {errorMessage ? (
-                <Alert severity="error" className="mb-3">{errorMessage}</Alert>
+                <Alert severity="error" className="mb-3">
+                  {errorMessage}
+                </Alert>
               ) : null}
               <TextField
                 fullWidth
@@ -69,7 +83,7 @@ export default function LoginForm({
                 onChange={handlePasswordChange}
                 error={errorMessage != errorMessage.length > 0}
                 alt="Senha"
-              /> 
+              />
               <Button
                 fullWidth
                 disableElevation
@@ -100,25 +114,29 @@ export default function LoginForm({
                   Cadastre-se.
                 </a>
               </p>
-              <PasswordModal open={openModalPasswd} handleClose={handleCloseModalPasswd} />
+              <PasswordModal
+                open={openModalPasswd}
+                handleClose={handleCloseModalPasswd}
+              />
             </Paper>
           </form>
           <Button
             title="Ainda não disponível"
             fullWidth
             disableElevation
+            onClick={handleGovBr}
             variant="outlined"
             className="my-2 bg-white border-white text-[#B6CCCC] normal-case flex gap-2 w-96 font-bold"
           >
             <span >Entrar com o</span>
             <Image className="w-14 h-6" src="/govbr.svg" alt="govbr" width={10} height={10} />
           </Button>
-          <button 
-            onClick={() => router.push("/sobre")} 
+          <button
+            onClick={() => router.push("/sobre")}
             className="text-secondary lg:text-nowrap bg-white py-1 w-96 hover:bg-main-hover rounded cursor-pointer"
             alt="Entrar sem cadastrar"
-            >
-              Entrar sem cadastrar
+          >
+            Entrar sem cadastrar
           </button>
           <Button
             title="Ainda não disponível"
@@ -130,7 +148,10 @@ export default function LoginForm({
             <Image className="w-6 h-6" src="/google.svg" width={10} height={10} alt="Google" />
             <span>Entrar com o Google</span>
           </Button>
-          <SignupModal open={openModalSignup} handleClose={handleCloseModalSignup} />
+          <SignupModal
+            open={openModalSignup}
+            handleClose={handleCloseModalSignup}
+          />
         </div>
       </div>
     </ThemeProvider>
diff --git a/src/app/entrar/page.js b/src/app/entrar/page.js
index 97a565da..cf149dd7 100644
--- a/src/app/entrar/page.js
+++ b/src/app/entrar/page.js
@@ -34,7 +34,7 @@ function Login() {
   const userLogin = async (event, email, password) => {
     event.preventDefault();
 
-    mecredApi
+    await mecredApi
       .post("/auth/sign_in", {
         email: userEmail,
         password: userPassword,
@@ -59,7 +59,7 @@ function Login() {
 
   return (
     <ThemeProvider theme={theme}>
-      <Grid container className="min-h-screen bg-main">
+      <Grid container className="min-h-screen bg-main bg-fundo bg-repeat bg-fixed">
         <Grid xs={12} xl={7} order={{ xs: 2, xl: 1 }}>
           <LoginInfo />
         </Grid>
-- 
GitLab