Эх сурвалжийг харах

auth flow elementary fixes

amenpunk 4 жил өмнө
parent
commit
7c8ba5194b

+ 13 - 4
src/Auth/AuthProvider.js

@@ -26,12 +26,21 @@ export function AuthProvider ({ children }){
             setUser(undefined)
         },
         isLogged : () => {
-            let CookiesUser = Cookies.get('user')
-            console.log('existe usuario -> ', CookiesUser)
-            if(!CookiesUser || CookiesUser === 'undefined'){
+            try{
+                let CookiesUser = Cookies.get('user')
+                if(!CookiesUser || CookiesUser === 'undefined'){
+                    return false
+                }
+                let current = JSON.parse(CookiesUser);
+                // console.log("CURR", current)
+                let logged = Object.keys(current).includes('email')
+                console.log("is login? >>", logged)
+                return logged
+
+            }catch(e){
+                console.log("Error checking user ", e)
                 return false
             }
-            return !!CookiesUser
         }
     }
 

+ 3 - 11
src/Components/Routes.js

@@ -1,5 +1,5 @@
 import React, {useEffect} from 'react'
-import { Routes, Route,useNavigate } from "react-router-dom";
+import { Routes, Route,useNavigate, Navigate } from "react-router-dom";
 
 import { Dashboard } from "./Dashboard";
 import { Login } from '../Pages/Login'
@@ -16,23 +16,15 @@ import { PruebaAsignar } from '../Pages/PruebaAsignar'
 import { NotFound } from '../Pages/404'
 import { Profile } from '../Pages/Profile'
 
-import useAuth from '../Auth/useAuth'
 import RequireAuth from '../Components/PrivateRoute'
 
 export default function MyRoutes () {
 
-    let auth = useAuth();
-    let navigate = useNavigate()
-
-    useEffect(() => {
-        if(!auth.isLogged()){
-            return navigate('login')
-        }    
-    }, [auth, navigate])
-
     return(
         <Routes>
 
+            <Route path="/" element={<Navigate to='login'/>} />
+            <Route path="psicoadmin" element={<Navigate to='/login'/>} />
             <Route path="login" element={<Login/>} />
             <Route 
                 path="dashboard" 

+ 7 - 0
src/Pages/Login.jsx

@@ -46,6 +46,13 @@ export function Login() {
         return navigate('/dashboard/home')
     };
 
+    React.useEffect(() => {
+        if(auth.isLogged()){
+            return navigate('/dashboard/home')
+        }    
+    }, [])
+
+
     return (
         <ThemeProvider theme={theme}>
             <Grid container component="main" sx={{ height: '100vh' }}>