Refactor site structure and add comprehensive interactive index

- Move Puzzles and Miscellany under Themes
- Add Contest Problems as new theme
- Create About page with comprehensive site information
- Create InteractiveIndex component with advanced filtering and sorting
- Update navigation to include Index, Themes, and About
- Add pagination (10 items per page) with search and tag filtering
- Update routing structure for new theme organization
- Remove standalone Puzzles and Miscellany pages
- Add new theme pages: /themes/puzzles, /themes/miscellany, /themes/contest-problems
- Update homepage to point to new interactive index
- Maintain consistent layout and styling across all new pages
This commit is contained in:
Neeldhara Misra 2025-07-20 10:07:04 +05:30
parent 85a8298352
commit 3f04e8c7d7
9 changed files with 443 additions and 11 deletions

View file

@ -4,15 +4,18 @@ import { TooltipProvider } from "@/components/ui/tooltip";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Index from "./pages/Index";
import InteractiveIndex from "./components/InteractiveIndex";
import Themes from "./pages/Themes";
import Puzzles from "./pages/Puzzles";
import Miscellany from "./pages/Miscellany";
import About from "./pages/About";
import DiscreteMath from "./pages/theme-pages/DiscreteMath";
import SocialChoice from "./pages/theme-pages/SocialChoice";
import AdvancedAlgorithms from "./pages/theme-pages/AdvancedAlgorithms";
import DataStructures from "./pages/theme-pages/DataStructures";
import Games from "./pages/theme-pages/Games";
import CardsMath from "./pages/theme-pages/CardsMath";
import Puzzles from "./pages/theme-pages/Puzzles";
import Miscellany from "./pages/theme-pages/Miscellany";
import ContestProblems from "./pages/theme-pages/ContestProblems";
import BinaryNumberGamePage from "./pages/BinaryNumberGamePage";
import BinaryNumberGameGreenScreen from "./pages/BinaryNumberGameGreenScreen";
import BinarySearchTrickPage from "./pages/BinarySearchTrickPage";
@ -38,9 +41,9 @@ const App = () => (
<BrowserRouter>
<Routes>
<Route path="/" element={<Index />} />
<Route path="/index" element={<InteractiveIndex />} />
<Route path="/themes" element={<Themes />} />
<Route path="/puzzles" element={<Puzzles />} />
<Route path="/miscellany" element={<Miscellany />} />
<Route path="/about" element={<About />} />
{/* Theme-specific routes */}
<Route path="/themes/discrete-math" element={<DiscreteMath />} />
@ -56,6 +59,9 @@ const App = () => (
<Route path="/themes/data-structures" element={<DataStructures />} />
<Route path="/themes/games" element={<Games />} />
<Route path="/themes/cards-math" element={<CardsMath />} />
<Route path="/themes/puzzles" element={<Puzzles />} />
<Route path="/themes/miscellany" element={<Miscellany />} />
<Route path="/themes/contest-problems" element={<ContestProblems />} />
{/* Direct interactive routes */}
<Route path="/binary-number-game" element={<BinaryNumberGamePage />} />