App.tsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { Toaster } from "@/components/ui/toaster";
  2. import { Toaster as Sonner } from "@/components/ui/sonner";
  3. import { TooltipProvider } from "@/components/ui/tooltip";
  4. import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
  5. import { BrowserRouter, Routes, Route } from "react-router-dom";
  6. import Index from "./pages/Index";
  7. import FeedsManagement from "./pages/FeedsManagement";
  8. import Pinned from "./pages/Pinned";
  9. import FeedDetail from "./pages/FeedDetail";
  10. import NotFound from "./pages/NotFound";
  11. import Auth from "./pages/Auth";
  12. import Gone from "./pages/Gone";
  13. import Changelog from "./pages/Changelog";
  14. import PolitiqueCookies from "./pages/PolitiqueCookies";
  15. import LegacyRedirect from "./components/LegacyRedirect";
  16. import { CookieBanner } from "./components/CookieBanner";
  17. const queryClient = new QueryClient();
  18. const App = () => (
  19. <QueryClientProvider client={queryClient}>
  20. <TooltipProvider>
  21. <Toaster />
  22. <Sonner />
  23. <BrowserRouter>
  24. <Routes>
  25. <Route path="/" element={<Index />} />
  26. <Route path="/feeds" element={<FeedsManagement />} />
  27. <Route path="/pinned" element={<Pinned />} />
  28. <Route path="/feed/:feedId" element={<FeedDetail />} />
  29. <Route path="/auth" element={<Auth />} />
  30. <Route path="/changelog" element={<Changelog />} />
  31. <Route path="/politique-cookies" element={<PolitiqueCookies />} />
  32. <Route path="/gone" element={<Gone />} />
  33. {/* Legacy URL redirects */}
  34. <Route path="/flux/*" element={<LegacyRedirect />} />
  35. <Route path="/account/*" element={<LegacyRedirect />} />
  36. {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
  37. <Route path="*" element={<NotFound />} />
  38. </Routes>
  39. <CookieBanner />
  40. </BrowserRouter>
  41. </TooltipProvider>
  42. </QueryClientProvider>
  43. );
  44. export default App;