Files
sapiens-web/client/src/App.tsx
kimjaehyeon0101 b2c5d1ab38 Add a page for media outlets to auction administrative rights
Adds a new route and component for media outlet auctions, allowing users to bid on administrative rights.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 069d4324-6c40-4355-955e-c714a50de1ea
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3df548ff-50ae-432f-9be4-25d34eccc983/069d4324-6c40-4355-955e-c714a50de1ea/jvFIdY3
2025-09-29 18:56:57 +00:00

55 lines
1.8 KiB
TypeScript

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 { useAuth } from "@/hooks/useAuth";
import Landing from "@/pages/Landing";
import Home from "@/pages/Home";
import MediaOutlet from "@/pages/MediaOutlet";
import Article from "@/pages/Article";
import AdminDashboard from "@/pages/AdminDashboard";
import SuperAdminDashboard from "@/pages/SuperAdminDashboard";
import Auctions from "@/pages/Auctions";
import AuctionGuide from "@/pages/AuctionGuide";
import MediaOutletAuction from "@/pages/MediaOutletAuction";
import NotFound from "@/pages/not-found";
function Router() {
const { isAuthenticated, user } = useAuth();
return (
<Switch>
<Route path="/" component={isAuthenticated ? Home : Landing} />
<Route path="/media/:slug/auction" component={MediaOutletAuction} />
<Route path="/media/:slug" component={MediaOutlet} />
<Route path="/articles/:slug" component={Article} />
<Route path="/auctions" component={Auctions} />
<Route path="/auction-guide" component={AuctionGuide} />
{/* Admin routes - only when authenticated */}
{isAuthenticated && (user?.role === 'admin' || user?.role === 'superadmin') && (
<Route path="/admin" component={AdminDashboard} />
)}
{isAuthenticated && user?.role === 'superadmin' && (
<Route path="/superadmin" component={SuperAdminDashboard} />
)}
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<Toaster />
<Router />
</TooltipProvider>
</QueryClientProvider>
);
}
export default App;