PageSourceSearch

https://fitnessprofi.lovable.app/assets/App-DinQB92j.tsx

js fitnessprofi.lovable.app collected 2026-10-03 03:31:27 UTC 5,135 bytes, 82 lines download raw bytes

1import { Toaster } from "@/components/ui/toaster";
2import { Toaster as Sonner } from "@/components/ui/sonner";
3import { TooltipProvider } from "@/components/ui/tooltip";
4import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
5import { BrowserRouter, Routes, Route } from "react-router-dom";
6import { AuthProvider } from "@/hooks/useAuth";
7import { lazy, Suspense } from "react";
8import { LoadingSpinner } from "@/components/ui/loading-spinner";
9// Lazy load all pages including Index for better performance
10const Index = lazy(() => import("./pages/Index"));
11const Auth = lazy(() => import("./pages/Auth"));
12const Dashboard = lazy(() => import("./pages/Dashboard"));
13const CreateListing = lazy(() => import("./pages/CreateListing"));
14const EditListing = lazy(() => import("./pages/EditListing"));
15const ListingDetail = lazy(() => import("./pages/ListingDetail"));
16const SearchListings = lazy(() => import("./pages/SearchListings"));
17const CustomerListingDetail = lazy(() => import("./pages/CustomerListingDetail"));
18const Impressum = lazy(() => import("./pages/Impressum"));
19const AGB = lazy(() => import("./pages/AGB"));
20const Datenschutz = lazy(() => import("./pages/Datenschutz"));
21const SafetyTips = lazy(() => import("./pages/SafetyTips"));
22const Favorites = lazy(() => import("./pages/Favorites"));
23const AdminDashboard = lazy(() => import("./pages/AdminDashboard"));
24const FAQ = lazy(() => import("./pages/FAQ"));
25const NotFound = lazy(() => import("./pages/NotFound"));
26const Messages = lazy(() => import("./pages/Messages"));
27const Analytics = lazy(() => import("./pages/Analytics"));
28const Social = lazy(() => import("./pages/Social"));
29const SecurityPrivacy = lazy(() => import("./pages/SecurityPrivacy"));
30const QuickAdd = lazy(() => import("./pages/QuickAdd"));
31const Orders = lazy(() => import("./pages/Orders"));
32const OrderDetail = lazy(() => import("./pages/OrderDetail"));
33
34const queryClient = new QueryClient({
35  defaultOptions: {
36    queries: {
37      staleTime: 5 * 60 * 1000, // 5 minutes
38      gcTime: 10 * 60 * 1000, // 10 minutes
39    },
40  },
41});
42
43const App = () => (
44  <QueryClientProvider client={queryClient}>
45    <AuthProvider>
46      <TooltipProvider>
47        <Toaster />
48        <Sonner />
49        <BrowserRouter>
50          <Routes>
51            <Route path="/" element={<Suspense fallback={<LoadingSpinner />}><Index /></Suspense>} />
52            <Route path="/auth" element={<Suspense fallback={<LoadingSpinner />}><Auth /></Suspense>} />
53            <Route path="/dashboard" element={<Suspense fallback={<LoadingSpinner />}><Dashboard /></Suspense>} />
54            <Route path="/create-listing" element={<Suspense fallback={<LoadingSpinner />}><CreateListing /></Suspense>} />
55            <Route path="/edit-listing/:id" element={<Suspense fallback={<LoadingSpinner />}><EditListing /></Suspense>} />
56            <Route path="/listing/:id" element={<Suspense fallback={<LoadingSpinner />}><ListingDetail /></Suspense>} />
57            <Route path="/search" element={<Suspense fallback={<LoadingSpinner />}><SearchListings /></Suspense>} />
58            <Route path="/buy/:id" element={<Suspense fallback={<LoadingSpinner />}><CustomerListingDetail /></Suspense>} />
59            <Route path="/impressum" element={<Suspense fallback={<LoadingSpinner />}><Impressum /></Suspense>} />
60            <Route path="/agb" element={<Suspense fallback={<LoadingSpinner />}><AGB /></Suspense>} />
61            <Route path="/datenschutz" element={<Suspense fallback={<LoadingSpinner />}><Datenschutz /></Suspense>} />
62            <Route path="/sicherheitstipps" element={<Suspense fallback={<LoadingSpinner />}><SafetyTips /></Suspense>} />
63            <Route path="/faq" element={<Suspense fallback={<LoadingSpinner />}><FAQ /></Suspense>} />
64            <Route path="/favorites" element={<Suspense fallback={<LoadingSpinner />}><Favorites /></Suspense>} />
65            <Route path="/admin" element={<Suspense fallback={<LoadingSpinner />}><AdminDashboard /></Suspense>} />
66            <Route path="/messages" element={<Suspense fallback={<LoadingSpinner />}><Messages /></Suspense>} />
67            <Route path="/analytics" element={<Suspense fallback={<LoadingSpinner />}><Analytics /></Suspense>} />
68            <Route path="/social" element={<Suspense fallback={<LoadingSpinner />}><Social /></Suspense>} />
69            <Route path="/sicherheit-privatsphaere" element={<Suspense fallback={<LoadingSpinner />}><SecurityPrivacy /></Suspense>} />
70            <Route path="/quick-add" element={<Suspense fallback={<LoadingSpinner />}><QuickAdd /></Suspense>} />
71            <Route path="/orders" element={<Suspense fallback={<LoadingSpinner />}><Orders /></Suspense>} />
72            <Route path="/orders/:id" element={<Suspense fallback={<LoadingSpinner />}><OrderDetail /></Suspense>} />
73            {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
74            <Route path="*" element={<Suspense fallback={<LoadingSpinner />}><NotFound /></Suspense>} />
75          </Routes>
76        </BrowserRouter>
77      </TooltipProvider>
78    </AuthProvider>
79  </QueryClientProvider>
80);
81
82export default App;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.