import { Suspense, lazy } from 'react'; import { BrowserRouter, Navigate, Route, Routes, useLocation } from 'react-router-dom'; import { AnimatePresence } from 'motion/react'; import { useIsMobile } from './hooks/useIsMobile'; const Layout = lazy(() => import('./components/layout/Layout')); const MobileLayout = lazy(() => import('./mobile-components/MobileLayout')); const Login = lazy(() => import('./account/pages/LoginPage')); const Overview = lazy(() => import('./workspace/pages/OverviewPage')); const FilesPage = lazy(() => import('./workspace/pages/FilesPage')); const RecycleBin = lazy(() => import('./workspace/pages/RecycleBinPage')); const Shares = lazy(() => import('./sharing/pages/SharesPage')); const FileShare = lazy(() => import('./sharing/pages/FileSharePage')); const Tasks = lazy(() => import('./common/pages/TasksPage')); const Transfer = lazy(() => import('./transfer/pages/TransferPage')); const AdminLayout = lazy(() => import('./admin/AdminLayout')); const AdminDashboard = lazy(() => import('./admin/dashboard')); const AdminSettings = lazy(() => import('./admin/settings')); const AdminFilesystem = lazy(() => import('./admin/filesystem')); const AdminStoragePoliciesList = lazy(() => import('./admin/storage-policies-list')); const AdminUsersList = lazy(() => import('./admin/users-list')); const AdminFilesList = lazy(() => import('./admin/files-list')); const AdminFileBlobs = lazy(() => import('./admin/fileblobs')); const AdminShares = lazy(() => import('./admin/shares')); const AdminTasks = lazy(() => import('./admin/tasks')); const AdminOAuthApps = lazy(() => import('./admin/oauthapps')); function AnimatedRoutes({ isMobile }: { isMobile: boolean }) { const location = useLocation(); const AppLayout = isMobile ? MobileLayout : Layout; return ( }> } /> } /> }> } /> } /> } /> } /> } /> } /> } /> : }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); } function RouteLoadingFallback() { return (
Loading...
); } export default function App() { const isMobile = useIsMobile(); return ( ); }