check auth and redirect to login or home

This commit is contained in:
Guillaume Dorce 2022-09-09 14:18:46 +02:00
parent 8f0a604042
commit e3720181f8
4 changed files with 21 additions and 8 deletions

View File

@ -1,4 +1,4 @@
import { BrowserRouter, Navigate, Outlet, Route, Routes } from 'react-router-dom';
import { BrowserRouter, useNavigate, Outlet, Route, Routes } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import Login from './routes/login';
import Home from './routes/home';

View File

@ -0,0 +1,13 @@
import { useCookies } from "react-cookie";
import { useNavigate } from "react-router-dom";
const checkAuth = () => {
const [cookie, setCookie] = useCookies(['token']);
if (cookie.token && cookie.token !== '') {
return true;
}
return false;
};
export { checkAuth };

View File

@ -1,14 +1,11 @@
import { useCookies } from "react-cookie";
import { Navigate } from "react-router-dom";
import AppHeader from "@components/AppHeader";
import { Navigate } from "react-router-dom";
import { checkAuth } from "../controllers/Auth";
const Home = () => {
const [cookie, setCookie] = useCookies(["token"]);
if (!cookie.token) {
if (!checkAuth()) {
return <Navigate to="/login" />;
}
return (
<>
<AppHeader />

View File

@ -4,8 +4,12 @@ import { useQuery } from '@tanstack/react-query';
import { useState } from 'react';
import { useCookies } from 'react-cookie';
import type { Token } from '../types';
import { checkAuth } from '../controllers/Auth';
const Login = () => {
if (checkAuth()) {
return <Navigate to="/home" />;
}
const [cookie, setCookie] = useCookies(['token']);
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
@ -43,7 +47,6 @@ const Login = () => {
return (
<>
{cookie.token && <Navigate to="/home" />}
<div className="flex flex-col min-h-full items-center justify-center py-12 px-4 bg-grey-dark sm:px-6 lg:px-8">
<div>
<img className="mx-auto h-20 pb-2 w-auto" src={logo} alt="Groupomania" />