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

@ -11,7 +11,6 @@ function Header()
logOut();
toast.success("logged out!");
sleep(1000);
window.location.href = '/dog/';
}

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
{

View File

@ -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;