import { Route, BrowserRouter as Router, Routes } from 'react-router-dom';
import { NuqsAdapter } from 'nuqs/adapters/react-router/v6';
import Providers from './components/layout/Providers';
import { ActiveRouteProvider } from './components/context/ActiveRouteContext/ActiveRouteContext';
import SidebarLayout from './components/layout/SidebarLayout';
import LandingPage from './pages/LandingPage';
import CategoryPage from './pages/CategoryPage';
import CategoryIndexPage from './pages/CategoryIndexPage';
import ShowcasePage from './pages/ShowcasePage';
import FavoritesPage from './pages/FavoritesPage';
import SponsorsPage from './pages/SponsorsPage';
import ToolsPage from './pages/ToolsPage';
import ProPage from './pages/ProPage';
import ProSectionPage from './pages/ProSectionPage';
import AnnouncementModal from './components/common/AnnouncementModal/AnnouncementModal';
function AppContent() {
return (
<>
<Providers>
<Routes>
<Route exact path="/" element={<LandingPage />} />
<Route exact path="/showcase" element={<ShowcasePage />} />
<Route exact path="/sponsors" element={<SponsorsPage />} />
<Route path="/tools/:toolId?" element={<ToolsPage />} />
<Route exact path="/pro" element={<ProPage />} />
<Route
path="/pro/:section"
element={
<SidebarLayout>
<ProSectionPage />
</SidebarLayout>
}
/>
<Route
path="/c/:category"
element={
<SidebarLayout>
<CategoryIndexPage />
</SidebarLayout>
}
/>
<Route
path="/c/:category/:subcategory"
element={
<SidebarLayout>
<CategoryPage />
</SidebarLayout>
}
/>
<Route
path="/:category/:subcategory"
element={
<SidebarLayout>
<CategoryPage />
</SidebarLayout>
}
/>
<Route
path="/favorites"
element={
<SidebarLayout>
<FavoritesPage />
</SidebarLayout>
}
/>
</Routes>
<AnnouncementModal />
</Providers>
</>
);
}
export default function App() {
return (
<Router>
<NuqsAdapter>
<ActiveRouteProvider>
<AppContent />
</ActiveRouteProvider>
</NuqsAdapter>
</Router>
);
}