Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions frontend/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { SettingsPage } from './pages/SettingsPage';
import { SortingPage } from './pages/SortingPage';
import { DPPage } from './pages/DPPage';
import { TreesPage } from './pages/TreesPage';
import { BattlePage } from './pages/BattlePage';
import type { CatalogResponse } from './models/types';
import { api } from './services/api';
import { AudioCtx } from './context/AudioContext';
Expand All @@ -20,7 +19,7 @@ import { useSound } from './hooks/useSound';

import { fallbackCatalog } from './data/fallbackCatalog';

type Page = 'landing' | 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings' | 'battle';
type Page = 'landing' | 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings';

const getPageFromHash = (): Page => {
const searchParams = new URLSearchParams(window.location.search);
Expand Down Expand Up @@ -182,7 +181,6 @@ export default function App() {
/>

<div className="content-shell">
{active === 'battle' && <BattlePage catalog={catalog} />}
{active === 'sorting' && <SortingPage catalog={catalog} />}
{active === 'searching' && <SearchingPage catalog={catalog} />}
{active === 'pathfinding' && <PathfindingPage catalog={catalog} />}
Expand Down
102 changes: 0 additions & 102 deletions frontend/src/components/HeadToHeadBattle.tsx

This file was deleted.

3 changes: 1 addition & 2 deletions frontend/src/components/Sidebar.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { BarChart3, Binary, GitBranch, History, Settings, ChevronLeft, ChevronRight, Zap, LayoutGrid, X, Sun, Moon, Layers, FolderTree } from 'lucide-react';
import { useAudio } from '../context/AudioContext';

type Page = 'landing' | 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings' | 'battle';
type Page = 'landing' | 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings';

const items = [
{ id: 'landing', label: 'Overview', icon: LayoutGrid },
{ id: 'battle', label: '1v1 Battle', icon: Zap },
{ id: 'sorting', label: 'Sorting Arena', icon: BarChart3 },
{ id: 'searching', label: 'Search Arena', icon: Binary },
{ id: 'pathfinding', label: 'Pathfinding Arena', icon: GitBranch },
Expand Down
215 changes: 0 additions & 215 deletions frontend/src/pages/BattlePage.tsx

This file was deleted.

19 changes: 1 addition & 18 deletions frontend/src/pages/LandingPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const HeroMiniCanvas = lazy(() => import('../components/HeroMiniCanvas').then(m
const AlgorithmMatrix = lazy(() => import('../components/AlgorithmMatrix').then(m => ({ default: m.AlgorithmMatrix })));

interface Props {
onNavigate: (page: 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings' | 'battle') => void;
onNavigate: (page: 'sorting' | 'searching' | 'pathfinding' | 'dp' | 'trees' | 'history' | 'settings') => void;
darkMode?: boolean;
setDarkMode?: (val: boolean) => void;
}
Expand Down Expand Up @@ -282,23 +282,6 @@ export function LandingPage({ onNavigate, darkMode, setDarkMode }: Props) {
</div>
</div>

<div className="bento-card bento-card-large" onClick={() => onNavigate('battle')}>
<div className="bento-card-header">
<div className="bento-icon-wrapper icon-purple">
<Zap size={22} />
</div>
<span className="bento-arena-tag">1v1 BATTLE ARENA</span>
</div>
<h3 className="bento-title">Head-to-Head Algorithm Showdown</h3>
<p className="bento-text">
Directly compare exactly two sorting algorithms side-by-side with a real-time differential graph highlighting the exact operation lead and lag deltas.
</p>
<div className="bento-card-action">
<span>Launch Battle Arena</span>
<ArrowRight size={16} />
</div>
</div>

{/* Row 2: Card 3 (Pathfinding Arena) + Card 4 (Web Audio) */}
<div className="bento-card bento-card-large bento-pathfinding" onClick={() => onNavigate('pathfinding')}>
<div className="bento-card-bg-glow glow-cyan-subtle" />
Expand Down
Loading