import { useState } from 'react'; import { Box, useMediaQuery } from '@mui/material'; import { useTheme } from '@mui/material/styles'; import AppHeader from './components/AppHeader'; import MenuDrawerPrivate, { OPEN_WIDTH, MINI_WIDTH } from './components/MenuDrawerPrivate'; import Footer from './components/Footer'; import Dashboard from './private/dashboard/Dashboard'; import UserManagement from './private/users/UserManagement'; import ProductCollections from './private/catalogs/products/ProductCollections'; import Categories from './private/catalogs/categories/Categories'; import LoginPage from './private/LoginPage'; import { Routes, Route, Navigate } from 'react-router-dom'; import { useAuth } from './context/AuthContext'; const DRAWER_EXPANDED = OPEN_WIDTH; const DRAWER_COLLAPSED = MINI_WIDTH; const APPBAR_HEIGHT = 64; export default function App() { const theme = useTheme(); const isMobile = useMediaQuery('(max-width:900px)'); const [drawerExpanded, setDrawerExpanded] = useState(true); const [currentView, setCurrentView] = useState('Dashboard'); const { user, initializing } = useAuth(); const mainLeft = isMobile ? 0 : (drawerExpanded ? DRAWER_EXPANDED : DRAWER_COLLAPSED); if (initializing) return null; if (!user) { return ( } /> } /> ); } return ( <> setCurrentView(value)} onExpandedChange={(expanded) => setDrawerExpanded(expanded)} /> } /> {currentView === 'Dashboard' && } {currentView === '/Users/UserManagement' && } {currentView === '/Products Management/Catalog Management/Product Collections' && ( )} {currentView === '/Products Management/Catalog Management/Categories' && ( )} } />