/* eslint-disable react-refresh/only-export-components -- route config; edits trigger a full reload anyway */ import { createBrowserRouter, type RouteObject } from 'react-router-dom'; import { lazy, Suspense } from 'react'; import { PrivateRoute } from '@/route/PrivateRoute.tsx'; import { PublicRoute } from '@/route/PublicRoute.tsx'; import { AuthProvider } from '@/providers/authProvider.tsx'; import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; import { LoadingSpinner } from '@/components/LoadingSpinner'; import { RouteError } from '@/components/RouteError'; // Lazy load page components const SignInPage = lazy(() => import('@/pages/SignInPage.tsx').then(module => ({ default: module.SignInPage }))); const SignUpPage = lazy(() => import('@/pages/SignUpPage.tsx').then(module => ({ default: module.SignUpPage }))); const HomePage = lazy(() => import('@/pages/HomePage.tsx').then(module => ({ default: module.HomePage }))); const ChannelsPage = lazy(() => import('@/pages/ChannelsPage.tsx').then(module => ({ default: module.ChannelsPage }))); const PlatformsPage = lazy(() => import('@/pages/PlatformsPage.tsx').then(module => ({ default: module.PlatformsPage }))); const ArchitecturesPage = lazy(() => import('@/pages/ArchitecturesPage.tsx').then(module => ({ default: module.ArchitecturesPage }))); const StatisticsPage = lazy(() => import('@/pages/StatisticsPage.tsx').then(module => ({ default: module.StatisticsPage }))); const ReportsPage = lazy(() => import('@/pages/ReportsPage.tsx').then(module => ({ default: module.ReportsPage }))); const SettingsPage = lazy(() => import('@/pages/SettingsPage.tsx').then(module => ({ default: module.SettingsPage }))); const RootLayout = ({ children }: { children: React.ReactNode }) => ( }> {children} ); const routes: RouteObject[] = [ { path: '/', element: , }, { path: '/applications', element: , }, { path: '/applications/:appName', element: , }, { path: '/channels', element: , }, { path: '/platforms', element: , }, { path: '/architectures', element: , }, { path: '/statistics', element: , }, { path: '/reports', element: , }, { path: '/settings', element: , }, { path: '/settings/tuf', element: , }, { path: '/settings/tokens', element: , }, { path: '/signin', element: , }, { path: '/signup', element: , }, ]; export const router = createBrowserRouter( routes.map(route => ({ ...route, errorElement: })), { basename: import.meta.env.BASE_URL }, );