swr login logout

This commit is contained in:
Peter Hoppe
2023-01-31 14:47:12 +01:00
parent 0a89c6aab1
commit 153d2156e1
8 changed files with 71 additions and 15 deletions

View File

@ -1,16 +1,38 @@
import {useState} from 'react';
import { Link } from 'react-router-dom';
import { Link, useNavigate } from 'react-router-dom';
import './Login.css';
import {loginUser, sleep} from '../services/PhpApi'
import {getUser, loginUser, sleep} from '../services/PhpApi'
import { toast, Toaster } from 'react-hot-toast';
import useSWR from 'swr';
const Login = () =>
{
const [formData, setFormData] = useState({
email:'',
email:'',
password:''
});
// only for redirect
const {data, error, isLoading, mutate} = useSWR("/login", getUser);
const navigate = useNavigate();
console.log('Login getUser');
console.log(data);
if (error)
{
toast.error(error.message);
return (
<>
<Toaster toastOptions={{ position: "top-center" }} />
<div>failed to load</div>
</>);
}
if (isLoading) return (<div>loading...</div>);
if(data.success)
{
window.location.href = '/dog/';
}
const onChangeInput = (e: React.FormEvent<HTMLInputElement>) =>
{
if(e.currentTarget.type === 'email' || e.currentTarget.type === 'password')
@ -31,12 +53,12 @@ const Login = () =>
toast.error('Please Fill in all Required Fields!');
return;
}
const logResp = await loginUser(formData);
if(logResp.success)
{
toast.success(logResp.message);
sleep(1000);
window.location.href = '/dog/';
mutate(); // update swr
}
else
{