swr login logout
This commit is contained in:
@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user