Spaces:
Running
Running
File size: 2,565 Bytes
b89a86e 1684141 b89a86e b091b61 b89a86e b091b61 b89a86e 1684141 b89a86e |
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 65 66 67 68 69 70 71 72 73 |
import { Switch, Route } from "wouter";
import { queryClient } from "./lib/queryClient";
import { QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import { AuthProvider } from "@/hooks/use-auth";
import { CartProvider } from "@/hooks/use-cart";
import MobileBottomNav from "@/components/layout/mobile-bottom-nav";
import CartSidebar from "@/components/cart/cart-sidebar";
import { useState } from "react";
import ErrorBoundary from "@/components/common/error-boundary";
import Home from "@/pages/home";
import Auth from "@/pages/auth";
import ProductDetail from "@/pages/product-detail";
import StoreDetail from "@/pages/store-detail";
import Cart from "@/pages/cart";
import Checkout from "@/pages/checkout";
import Profile from "@/pages/profile";
import Orders from "@/pages/orders";
import AdminDev from "@/pages/admin-dev";
import AdminSeller from "@/pages/admin-seller";
import SearchResults from "@/pages/search-results";
import NotFound from "@/pages/not-found";
function Router() {
return (
<Switch>
<Route path="/" component={Home} />
<Route path="/auth" component={Auth} />
<Route path="/product/:id" component={ProductDetail} />
<Route path="/store/:id" component={StoreDetail} />
<Route path="/cart" component={Cart} />
<Route path="/checkout" component={Checkout} />
<Route path="/profile" component={Profile} />
<Route path="/orders" component={Orders} />
<Route path="/search" component={SearchResults} />
<Route path="/admin-prospective=dev" component={AdminDev} />
<Route path="/admin-prospective=seller" component={AdminSeller} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
const [isCartOpen, setIsCartOpen] = useState(false);
// Make cart open/close globally accessible
if (typeof window !== 'undefined') {
(window as any).openCart = () => setIsCartOpen(true);
(window as any).closeCart = () => setIsCartOpen(false);
}
return (
<ErrorBoundary>
<QueryClientProvider client={queryClient}>
<AuthProvider>
<CartProvider>
<TooltipProvider>
<Toaster />
<Router />
<MobileBottomNav />
<CartSidebar isOpen={isCartOpen} onClose={() => setIsCartOpen(false)} />
</TooltipProvider>
</CartProvider>
</AuthProvider>
</QueryClientProvider>
</ErrorBoundary>
);
}
export default App;
|