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"; import * as sessionRoutes from '../../services/session'; import LocalStorage from "../../LocalStorage"; const Page: React.FC = () => { const history = useHistory(); const [email, setEmail] = useState("matheusalb3213@gmail.com"); const [password, setPassword] = useState("123456"); const [isError, setIsError] = useState(false); const [message, setMessage] = useState(""); 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 validateForm = () => { if (!email) { setMessage("Por favor, informe um e-mail válido"); setIsError(true); return false; } if (validateEmail(email) === false) { setMessage("E-mail inválido"); setIsError(true); return false; } if (!password) { setMessage("Por favor, digite a sua senha"); setIsError(true); return false; } if(password.length < 6) { setMessage("A senha deve conter ao menos 6 dígitos"); setIsError(true); return false; } return true; } const handleLogin = async () => { if (!validateForm()) { return } const singinForm = { login: email, password: password, }; await sessionRoutes.create(singinForm).then(response => { // if (!response) return const { token } = response.token LocalStorage.setToken(token); history.push({ pathname: '/home' }); }).catch(error => { // if (!error.response) return // se o backend retornou uma mensagem de erro customizada // if (error.response.data.message) { console.dir('error: ', {error}) alert('erro') }) }; 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;