Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import { BrowserRouter, Routes, Route } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { Layout } from './components/Layout'; import { PrintersPage } from './pages/PrintersPage'; import { ArchivesPage } from './pages/ArchivesPage'; import { QueuePage } from './pages/QueuePage'; import { StatsPage } from './pages/StatsPage'; import { SettingsPage } from './pages/SettingsPage'; import { ProfilesPage } from './pages/ProfilesPage'; import { MaintenancePage } from './pages/MaintenancePage'; import { ProjectsPage } from './pages/ProjectsPage'; import { CameraPage } from './pages/CameraPage'; import { ExternalLinkPage } from './pages/ExternalLinkPage'; import { useWebSocket } from './hooks/useWebSocket'; import { ThemeProvider } from './contexts/ThemeContext'; import { ToastProvider } from './contexts/ToastContext'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 1000 * 60, retry: 1, }, }, }); function WebSocketProvider({ children }: { children: React.ReactNode }) { useWebSocket(); return <>{children}</>; } function App() { return ( <ThemeProvider> <ToastProvider> <QueryClientProvider client={queryClient}> <WebSocketProvider> <BrowserRouter> <Routes> {/* Camera page - standalone, no layout */} <Route path="/camera/:printerId" element={<CameraPage />} /> <Route path="/" element={<Layout />}> <Route index element={<PrintersPage />} /> <Route path="archives" element={<ArchivesPage />} /> <Route path="queue" element={<QueuePage />} /> <Route path="stats" element={<StatsPage />} /> <Route path="profiles" element={<ProfilesPage />} /> <Route path="maintenance" element={<MaintenancePage />} /> <Route path="projects" element={<ProjectsPage />} /> <Route path="settings" element={<SettingsPage />} /> <Route path="external/:id" element={<ExternalLinkPage />} /> </Route> </Routes> </BrowserRouter> </WebSocketProvider> </QueryClientProvider> </ToastProvider> </ThemeProvider> ); } export default App; |