import Avatar from '@material-ui/core/Avatar'; import Button from '@material-ui/core/Button'; import CssBaseline from '@material-ui/core/CssBaseline'; import TextField from '@material-ui/core/TextField'; import LockOutlinedIcon from '@material-ui/icons/LockOutlined'; import Typography from '@material-ui/core/Typography'; import { makeStyles } from '@material-ui/core/styles'; import Container from '@material-ui/core/Container'; import { useForm } from 'react-hook-form'; import axios from 'axios'; import React, { useState, useEffect } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; const vigencia = require('../Vigencia'); const useStyles = makeStyles((theme) => ({ paper: { marginTop: theme.spacing(8), display: 'flex', flexDirection: 'column', alignItems: 'center', }, avatar: { margin: theme.spacing(1), backgroundColor: theme.palette.secondary.main, }, form: { width: '100%', // Fix IE 11 issue. marginTop: theme.spacing(1), }, submit: { margin: theme.spacing(3, 0, 2), } })); export default function SignInComponent () { const navigate = useNavigate(); const [loading, setLoading] = useState(true); useEffect(() => { const loadData = async () => { await new Promise((r) => setTimeout(r, 1000)); setLoading((loading) => !loading); }; loadData(); }, []); const location = useLocation(); const { register, handleSubmit } = useForm(); useEffect(() => { vigencia.check(axios, location, navigate); }, [location, navigate]); const onSubmit = data => { axios .post("http://localhost:5000/api/usuario/validar", { mail:data.email, pass:data.password }) .then((response) => { if (response.data.mensaje === 'correcto') { localStorage.setItem('TOKEN_PROYECTO', response.data.token); navigate('/admin/horario', { replace: true }); return; } }) .catch((err) => { if (err.response) { if (err.response.status === 401) { let motivo= err.response.data.mensaje; alert(`No autorizado: ${motivo}`); } } else if (err.request) { // client never received a response, or request never left } else { // anything else } }); }; const classes = useStyles(); if (loading) { return (
); } return (
Sign in
); }