diff --git a/webapp/src/components/navbarre/home/index.jsx b/webapp/src/components/navbarre/home/index.jsx index 2e65d53..ed683da 100644 --- a/webapp/src/components/navbarre/home/index.jsx +++ b/webapp/src/components/navbarre/home/index.jsx @@ -1,6 +1,8 @@ import NavListHome from "./navlist"; import list from "../list"; import LoginButton from "../login-button"; +import logout from "../../../lib/logout"; +import {useEffect} from "react"; function NavbarreHome() { return( @@ -8,7 +10,14 @@ function NavbarreHome() {
- + {localStorage.getItem('token') !== null ? ( +
+ logout()}>logout +

{localStorage.getItem('username')}

+
+ ) : ( + + ) } ) } diff --git a/webapp/src/index.js b/webapp/src/index.js index 9553714..5357bbb 100644 --- a/webapp/src/index.js +++ b/webapp/src/index.js @@ -10,21 +10,13 @@ import Register from "./pages/register"; const root = ReactDOM.createRoot(document.getElementById('root')); function App() { - const savedToken = localStorage.getItem('token'); - const [token, setToken] = useState(savedToken ? savedToken : null) - useEffect(() => { - if(savedToken !== token){ - localStorage.setItem('token', token); - } - }, [token]); - return ( - }/> - }/> - }/> + }/> + }/> + }/> }/> }/> diff --git a/webapp/src/lib/logout.js b/webapp/src/lib/logout.js new file mode 100644 index 0000000..10ea051 --- /dev/null +++ b/webapp/src/lib/logout.js @@ -0,0 +1,7 @@ +function logout() { + localStorage.removeItem('token'); + localStorage.removeItem('username'); + window.location.reload(); +} + +export default logout \ No newline at end of file diff --git a/webapp/src/pages/home/index.jsx b/webapp/src/pages/home/index.jsx index ac298a9..9542e34 100644 --- a/webapp/src/pages/home/index.jsx +++ b/webapp/src/pages/home/index.jsx @@ -5,7 +5,7 @@ import Footer from "../../components/content/home/footer"; function Home() { return (
- +
diff --git a/webapp/src/pages/login/index.jsx b/webapp/src/pages/login/index.jsx index 6272cdb..37b4a2e 100644 --- a/webapp/src/pages/login/index.jsx +++ b/webapp/src/pages/login/index.jsx @@ -1,15 +1,15 @@ import {Link, redirect, useNavigate} from "react-router-dom"; import {useState} from "react"; import {get, post} from '../../modules/fetcher'; -function Login({setToken}) { +function Login() { const navigate = useNavigate(); const loginUser = async (e) => { e.preventDefault() post('https://saucisson.justw.tf/api/users/login', {username, password}, '') .then(async res => { if (res.status === 200) { - console.log(res.JSON.message) - setToken(res.JSON.token) + localStorage.setItem('username', username) + localStorage.setItem('token', res.JSON.token) navigate('/') } else { setError(res.message) diff --git a/webapp/src/pages/register/index.jsx b/webapp/src/pages/register/index.jsx index 7f460ef..62ca71b 100644 --- a/webapp/src/pages/register/index.jsx +++ b/webapp/src/pages/register/index.jsx @@ -3,7 +3,7 @@ import {post} from "../../modules/fetcher"; import {useState} from "react"; -function Register({setToken}) { +function Register() { const navigate = useNavigate(); const registerUser = async (e) => { e.preventDefault() @@ -11,7 +11,8 @@ function Register({setToken}) { post('https://saucisson.justw.tf/api/users/register', {username, password}, '') .then(async res => { if (res.status === 200) { - setToken(res.JSON.token) + localStorage.setItem('username', username) + localStorage.setItem('token', res.JSON.token) navigate('/') } else { setError(res.message)