swr login logout
This commit is contained in:
@ -11,7 +11,6 @@ function Header()
|
||||
logOut();
|
||||
toast.success("logged out!");
|
||||
|
||||
sleep(1000);
|
||||
window.location.href = '/dog/';
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -25,10 +25,10 @@ function Profil()
|
||||
|
||||
const user: TUser =
|
||||
{
|
||||
id: data.id,
|
||||
qr_id: data.qr_id,
|
||||
email: data.email,
|
||||
name: data.name
|
||||
id: data.data.id,
|
||||
qr_id: data.data.qr_id,
|
||||
email: data.data.email,
|
||||
name: data.data.name
|
||||
};
|
||||
console.log('Profil data');
|
||||
console.log(data);
|
||||
@ -87,6 +87,9 @@ function Profil()
|
||||
return;
|
||||
}
|
||||
setFormData(formData);
|
||||
|
||||
update data with phpapi
|
||||
mutate
|
||||
}
|
||||
|
||||
const qr_refresh = (e: React.MouseEvent<HTMLButtonElement>) =>
|
||||
@ -95,6 +98,9 @@ function Profil()
|
||||
formData.qr_code = null;
|
||||
setFormData(formData);
|
||||
showData(data/*, e*/);
|
||||
|
||||
update data with phpapi
|
||||
mutate
|
||||
}
|
||||
formData.email = data.data.email;
|
||||
formData.name = data.data.name;
|
||||
|
||||
Reference in New Issue
Block a user