import { Toaster } from "@/components/ui/toaster"; import { Toaster as Sonner } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { HelmetProvider } from 'react-helmet-async'; import { Layout } from "./components/Layout"; import { PerformanceMonitor } from "./components/PerformanceMonitor"; import { CriticalCSS } from "./components/CriticalCSS"; import { ScrollToTop } from "./components/ScrollToTop"; import { lazy, Suspense } from "react"; // Lazy load components for better performance const Home = lazy(() => import("./pages/Home")); const Calculators = lazy(() => import("./pages/Calculators")); const Calculator = lazy(() => import("./pages/Calculator")); const History = lazy(() => import("./pages/History")); const Settings = lazy(() => import("./pages/Settings")); const PrivacyPolicy = lazy(() => import("./pages/PrivacyPolicy")); const TermsConditions = lazy(() => import("./pages/TermsConditions")); const AboutUs = lazy(() => import("./pages/AboutUs")); const ContactUs = lazy(() => import("./pages/ContactUs")); const NotFound = lazy(() => import("./pages/NotFound")); const Blog = lazy(() => import("./pages/Blog")); const HowToCalculateBMI = lazy(() => import("./pages/blog/HowToCalculateBMI")); const queryClient = new QueryClient(); // Loading component const PageLoader = () => (
); const App = () => ( }> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} } /> ); export default App;