From af323aade7bff717c6d8970abdc122c9e53072d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20White?= Date: Mon, 1 Sep 2025 16:53:07 -0600 Subject: [PATCH] feat: fixed logo and made login a "separate" page --- public/Logo.png | Bin 0 -> 3379 bytes src/App.jsx | 50 +++++++++++++++++++++--------------- src/context/AuthContext.jsx | 6 +++-- src/private/LoginPage.jsx | 22 +++++++++++++--- 4 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 public/Logo.png diff --git a/public/Logo.png b/public/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..95e03f53753d1e3735d1a08a0df7ea43c32c1449 GIT binary patch literal 3379 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 JRH->2{|C9icN+iz literal 0 HcmV?d00001 diff --git a/src/App.jsx b/src/App.jsx index a1d32db..9ca1440 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,4 +1,3 @@ -// App.jsx import { useState } from 'react'; import { Box, useMediaQuery } from '@mui/material'; import { useTheme } from '@mui/material/styles'; @@ -16,33 +15,39 @@ const DRAWER_EXPANDED = OPEN_WIDTH; const DRAWER_COLLAPSED = MINI_WIDTH; const APPBAR_HEIGHT = 64; -function PrivateRoute({ children }) { - const { user } = useAuth(); - return user ? children : ; -} - export default function App() { const theme = useTheme(); const isMobile = useMediaQuery('(max-width:900px)'); - const [zone] = useState('public'); const [drawerExpanded, setDrawerExpanded] = useState(true); const [currentView, setCurrentView] = useState('Dashboard'); + const { user, initializing } = useAuth(); const mainLeft = isMobile ? 0 : (drawerExpanded ? DRAWER_EXPANDED : DRAWER_COLLAPSED); + // Evita flicker mientras se restaura sesión + if (initializing) return null; + + // === RUTAS PÚBLICAS (sin shell) === + if (!user) { + return ( + + } /> + } /> + + ); + } + + // === RUTAS PRIVADAS (con shell) === return ( <> { - // normalize any custom route keys - setCurrentView(value); - }} + onSelect={(value) => setCurrentView(value)} onExpandedChange={(expanded) => setDrawerExpanded(expanded)} /> @@ -59,23 +64,26 @@ export default function App() { }} > - } /> + {/* Si ya está autenticado, /login redirige al dashboard */} + } /> - {zone === 'public' && currentView === 'Dashboard' && } - {zone === 'public' && currentView === '/Users/UserManagement' && } - {zone === 'public' && currentView === '/ProductsManagement/CatalogManagement/ProductCollections' && } - + <> + {currentView === 'Dashboard' && } + {currentView === '/Users/UserManagement' && } + {currentView === '/ProductsManagement/CatalogManagement/ProductCollections' && ( + + )} + } /> -