import { useEffect } from 'react'; import {BrowserRouter, Navigate, Route, Routes} from 'react-router-dom'; import {QueryClientProvider} from '@tanstack/react-query'; import {ThemeProvider, useTheme} from '@/components/theme-provider'; import {Layout} from '@/components/layout/layout'; import {BucketDetailShell} from '@/components/layout/bucket-detail-shell'; import {Dashboard} from '@/pages/Dashboard'; import {Buckets} from '@/pages/Buckets'; import {BucketObjects} from '@/pages/BucketObjects'; import {ObjectDetailsView} from '@/components/buckets/ObjectDetailsView'; import {BucketPermissions} from '@/pages/BucketPermissions'; import {BucketWebsite} from '@/pages/BucketWebsite'; import {BucketSettings} from '@/pages/BucketSettings'; import {Cluster} from '@/pages/Cluster'; import {AccessControl} from '@/pages/AccessControl'; import {Login} from '@/pages/Login'; import {Toaster} from 'sonner'; import {queryClient} from '@/lib/query-client'; import {useAuthStore} from '@/store/auth-store'; import {ProtectedRoute} from '@/components/auth/ProtectedRoute'; import {LoadingSpinner} from '@/components/auth/LoadingSpinner'; function ThemedToaster() { const { theme } = useTheme(); return ( ); } function App() { const { initialize, isLoading } = useAuthStore(); useEffect(() => { initialize(); }, [initialize]); if (isLoading) { return ; } return ( } /> } > } /> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> ); } export default App;