import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar, IonButtons, } from "@ionic/react"; import React, { useState } from "react"; import axios from "axios"; import { IonGrid, IonRow, IonCol } from "@ionic/react"; import { personCircle } from "ionicons/icons"; import { useHistory } from "react-router-dom"; import { IonItem, IonLabel, IonInput, IonButton, IonIcon, IonAlert, } from "@ionic/react"; function validateEmail(email: string) { const re = /^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/; return re.test(String(email).toLowerCase()); } const Page: React.FC = () => { const history = useHistory(); const [email, setEmail] = useState("matheusalb3213@gmail.com"); const [password, setPassword] = useState("1234"); const [isError, setIsError] = useState(false); const [message, setMessage] = useState(""); const handleLogin = () => { // validação de inputs if (!email) { setMessage("Por favor, informe um e-mail válido"); setIsError(true); return; } if (validateEmail(email) === false) { setMessage("E-mail inválido"); setIsError(true); return; } if (!password || password.length < 6) { setMessage("Por favor, digite a sua senha"); setIsError(true); return; } const loginData = { email: email, password: password, }; const api = axios.create({ baseURL: `https://reqres.in/api`, }); api .post("/login", loginData) .then((res) => { // login bem-sucedido history.push("/dashboard/" + email); }) .catch((error) => { setMessage("Falha na autenticação! Por favor, crie uma conta"); setIsError(true); }); }; return ( Login Login setIsError(false)} cssClass="my-custom-class" header={"Error!"} message={message} buttons={["Dismiss"]} /> Email setEmail(e.detail.value!)} > Senha setPassword(e.detail.value!)} >

Clicando no botão de "LOGIN", você concorda com a nossa{" "} política de termos e serviços

Login

Ainda não possui uma conta? Cadastre-se aqui!

); }; export default Page;