|
1 | | -import { lazy, Suspense } from 'react'; |
2 | 1 | import { createRoot } from 'react-dom/client'; |
3 | | -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; |
4 | | -import { ThemeProvider } from './components/theme-provider.tsx'; |
5 | | -import { BrowserRouter, Route, Routes } from 'react-router'; |
6 | | -import { SearchProvider } from './context/SearchProvider.tsx'; |
7 | | -import { AdminItemDialogsProvider } from './context/AdminItemDialogsProvider.tsx'; |
8 | | -import { SeerrItemDialogProvider } from './context/SeerrItemDialogProvider.tsx'; |
9 | | -import { SearchCommand } from './components/SearchCommand.tsx'; |
10 | | -import { KeyboardShortcuts } from './components/KeyboardShortcuts.tsx'; |
11 | | -import { MusicPlaybackProvider } from './context/MusicPlaybackProvider.tsx'; |
12 | | -import PelagicaThemeLoader from './components/PelagicaThemeProvider.tsx'; |
13 | | -import { Toaster } from './components/ui/sonner.tsx'; |
14 | | -import StatsConsentModal from './components/StatsConsentModal.tsx'; |
| 2 | +import App from './App.tsx'; |
15 | 3 |
|
16 | 4 | import './index.css'; |
17 | 5 | import './theme.css'; |
18 | 6 | import './i18n.ts'; |
19 | | -import { ScrollToTop } from './components/ScrollToTop.tsx'; |
20 | | -import { DesktopDragRegion } from './components/DesktopDragRegion.tsx'; |
21 | 7 |
|
22 | | -const HomePage = lazy(() => import('./pages/Home/HomePage.tsx')); |
23 | | -const LoginPage = lazy(() => import('./pages/Login/LoginPage.tsx')); |
24 | | -const LibraryPage = lazy(() => import('./pages/Library/LibraryPage.tsx')); |
25 | | -const ItemPage = lazy(() => import('./pages/Item/ItemPage.tsx')); |
26 | | -const PersonPage = lazy(() => import('./pages/Person/PersonPage.tsx')); |
27 | | -const PlayerPage = lazy(() => import('./pages/Player/PlayerPage.tsx')); |
28 | | -const SettingsPage = lazy(() => import('./pages/Settings/SettingsPage.tsx')); |
29 | | -const SearchPage = lazy(() => import('./pages/Search/SearchPage.tsx')); |
30 | | -const ThemeBrowserPage = lazy(() => import('./pages/ThemeBrowser/ThemeBrowserPage.tsx')); |
31 | | -const NotFoundPage = lazy(() => import('./pages/NotFound/NotFoundPage.tsx')); |
32 | | -const PhotoViewerPage = lazy(() => import('./pages/PhotoViewer/PhotoViewerPage.tsx')); |
33 | | -const MusicLayout = lazy(() => import('./pages/Music/MusicLayout.tsx')); |
34 | | -const MusicMainContent = lazy(() => import('./pages/Music/MusicMainContent.tsx')); |
35 | | -const MusicAlbumView = lazy(() => import('./pages/Music/MusicAlbumView.tsx')); |
36 | | -const MusicPlaylistView = lazy(() => import('./pages/Music/MusicPlaylistView.tsx')); |
37 | | -const MusicArtistView = lazy(() => import('./pages/Music/MusicArtistView.tsx')); |
38 | | -const GenrePage = lazy(() => import('./pages/Genre/GenrePage.tsx')); |
39 | | -const StudioPage = lazy(() => import('./pages/Studio/StudioPage.tsx')); |
40 | | -const StudiosPage = lazy(() => import('./pages/Studios/StudiosPage.tsx')); |
41 | | -const ItemsSectionPage = lazy(() => import('./pages/Items/ItemsSectionPage.tsx')); |
42 | | -const LivetvPage = lazy(() => import('./pages/Live/LiveTvPage.tsx')); |
43 | | - |
44 | | -const queryClient = new QueryClient(); |
45 | | - |
46 | | -createRoot(document.getElementById('root')!).render( |
47 | | - <QueryClientProvider client={queryClient}> |
48 | | - <ThemeProvider> |
49 | | - <MusicPlaybackProvider> |
50 | | - <SearchProvider> |
51 | | - <BrowserRouter> |
52 | | - <AdminItemDialogsProvider> |
53 | | - <SeerrItemDialogProvider> |
54 | | - <ScrollToTop /> |
55 | | - <DesktopDragRegion /> |
56 | | - <KeyboardShortcuts /> |
57 | | - <SearchCommand /> |
58 | | - <PelagicaThemeLoader /> |
59 | | - <Toaster /> |
60 | | - <StatsConsentModal /> |
61 | | - <Suspense fallback={null}> |
62 | | - <Routes> |
63 | | - <Route path="/" element={<HomePage />} /> |
64 | | - <Route path="/library" element={<LibraryPage />} /> |
65 | | - <Route path="/item/:itemId" element={<ItemPage />} /> |
66 | | - <Route path="/person/:itemId" element={<PersonPage />} /> |
67 | | - <Route path="/genre/:itemId" element={<GenrePage />} /> |
68 | | - <Route path="/studio/:itemId" element={<StudioPage />} /> |
69 | | - <Route path="/studios" element={<StudiosPage />} /> |
70 | | - <Route |
71 | | - path="/items/section" |
72 | | - element={<ItemsSectionPage />} |
73 | | - /> |
74 | | - <Route path="/login" element={<LoginPage />} /> |
75 | | - <Route path="/play/:itemId" element={<PlayerPage />} /> |
76 | | - <Route path="/settings" element={<SettingsPage />} /> |
77 | | - <Route |
78 | | - path="/browse-themes" |
79 | | - element={<ThemeBrowserPage />} |
80 | | - /> |
81 | | - <Route path="/search" element={<SearchPage />} /> |
82 | | - <Route path="/live" element={<LivetvPage />} /> |
83 | | - <Route |
84 | | - path="/photo/:itemId" |
85 | | - element={<PhotoViewerPage />} |
86 | | - /> |
87 | | - <Route path="/music" element={<MusicLayout />}> |
88 | | - <Route index element={<MusicMainContent />} /> |
89 | | - <Route |
90 | | - path="album/:itemId" |
91 | | - element={<MusicAlbumView />} |
92 | | - /> |
93 | | - <Route |
94 | | - path="playlist/:itemId" |
95 | | - element={<MusicPlaylistView />} |
96 | | - /> |
97 | | - <Route |
98 | | - path="artist/:itemId" |
99 | | - element={<MusicArtistView />} |
100 | | - /> |
101 | | - </Route> |
102 | | - <Route path="*" element={<NotFoundPage />} /> |
103 | | - </Routes> |
104 | | - </Suspense> |
105 | | - </SeerrItemDialogProvider> |
106 | | - </AdminItemDialogsProvider> |
107 | | - </BrowserRouter> |
108 | | - </SearchProvider> |
109 | | - </MusicPlaybackProvider> |
110 | | - </ThemeProvider> |
111 | | - </QueryClientProvider> |
112 | | -); |
| 8 | +createRoot(document.getElementById('root')!).render(<App />); |
0 commit comments