diff --git a/src/components/AlgoViz.tsx b/src/components/AlgoViz.tsx index 4f73293..dc9aa6e 100644 --- a/src/components/AlgoViz.tsx +++ b/src/components/AlgoViz.tsx @@ -18,6 +18,7 @@ import GraphVisualizer from '@components/GraphVisualizer' import MatrixVisualizer from '@components/MatrixVisualizer' import ConceptVisualizer from '@components/ConceptVisualizer' import CodePanel from '@components/CodePanel' +import CompareView from '@components/CompareView' import type { Algorithm } from '@lib/types' const SIDEBAR_MAX = 260 @@ -63,6 +64,7 @@ export default function AlgoViz({ locale = 'en', initialAlgorithmId }: AlgoVizPr const isMobile = useIsMobile() const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false) const [mobileCodePanelOpen, setMobileCodePanelOpen] = useState(false) + const [viewMode, setViewMode] = useState<'normal' | 'compare'>('normal') const initialAlgorithm = initialAlgorithmId ? (algorithms.find((a) => a.id === initialAlgorithmId) ?? null) @@ -213,6 +215,14 @@ export default function AlgoViz({ locale = 'en', initialAlgorithmId }: AlgoVizPr } } + if (viewMode === 'compare') { + return ( +
+ setViewMode('normal')} /> +
+ ) + } + return (
setMobileSidebarOpen((v) => !v)} onToggleMobileCodePanel={() => setMobileCodePanelOpen((v) => !v)} + onCompare={() => setViewMode('compare')} /> {/* Main Content */} @@ -243,9 +254,8 @@ export default function AlgoViz({ locale = 'en', initialAlgorithmId }: AlgoVizPr {!isMobile && (