import React from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { Layout } from '@/components/layout/Layout'; import { Dashboard } from '@/pages/Dashboard'; import { TenantList } from '@/pages/Tenants/TenantList'; import { UserList } from '@/pages/Users/UserList'; import { RoleEditor } from '@/pages/Roles/RoleEditor'; import { BillingPage } from '@/pages/Billing/BillingPage'; import { AuditLogPage } from '@/pages/AuditLogs/AuditLogPage'; import { ReportBuilder } from '@/pages/Reports/ReportBuilder'; import { PluginManager } from '@/pages/Plugins/PluginManager'; import { useAuth } from '@/hooks/useAuth'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 5 * 60 * 1000, // 5 minutes retry: 1, }, }, }); function ProtectedRoute({ children }: { children: React.ReactNode }) { const { isAuthenticated } = useAuth(); return isAuthenticated ? <>{children} : ; } function AppRoutes() { return ( Login Page} /> } /> } /> Tenant Detail} /> } /> User Detail} /> Roles List} /> } /> API Keys} /> } /> } /> } /> New Report} /> } /> Settings} /> } /> ); } export function App() { return ( ); }