// App v1.5 - JWT Migration Final Check import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider, useAuth } from './context/AuthContext'; import { SystemSettingsProvider } from './context/SystemSettingsContext'; import { NotificationProvider } from './contexts/NotificationContext'; import { Layout } from './components/Layout'; import { ProtectedRoute } from './components/ProtectedRoute'; import { ToastProvider } from './components/Toast'; import { ProjectList } from './pages/ProjectList'; import { ProjectDetails } from './pages/ProjectDetails'; import { SchemesList } from './pages/SchemesList'; import { InspectionsList } from './pages/InspectionsList'; import { DataSheetLibrary } from './pages/DataSheetLibrary'; import { YieldStudyDashboard } from './pages/YieldStudyDashboard'; import { AdminDashboard } from './pages/AdminDashboard'; import { DeveloperDashboard } from './pages/DeveloperDashboard'; import { CalculatorDashboard } from './pages/CalculatorDashboard'; import { StockDashboard } from './pages/StockDashboard'; import { GuestDashboard } from './pages/GuestDashboard'; import { Login } from './pages/Login'; import { OrganizationSelector } from './pages/OrganizationSelector'; import InstrumentList from './pages/InstrumentList'; const DeveloperRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { isDeveloper, isLoading } = useAuth(); if (isLoading) return null; if (!isDeveloper()) return ; return <>{children}; }; const AppContent: React.FC = () => { const { appUser, isLoading } = useAuth(); if (isLoading) return
Carregando...
; // AppUser exists but hasn't selected an org yet (if your business logic requires orgs) if (appUser && !appUser.organizationId) { return ; } return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }; const MainRouter: React.FC = () => { const { appUser, isLoading } = useAuth(); if (isLoading) { return
Verificando sessão...
; } return ( {!appUser ? ( ) : ( )} ); }; function App() { return ( ); } export default App;