diff --git a/frontend/src/pages/DPVisualizer.jsx b/frontend/src/pages/DPVisualizer.jsx
index 08e68b9..e540ea0 100644
--- a/frontend/src/pages/DPVisualizer.jsx
+++ b/frontend/src/pages/DPVisualizer.jsx
@@ -1,28 +1,109 @@
import React, { useState } from 'react';
-import { useTheme } from '../contexts/ThemeContext';
+import { Play, RotateCcw, Puzzle, Hash } from 'lucide-react';
const DPVisualizer = () => {
- const { classes, getThemedGradient } = useTheme();
- const [algorithm, setAlgorithm] = useState('lcs');
-
+ const [selectedProblem, setSelectedProblem] = useState('fibonacci');
+ const [inputValue, setInputValue] = useState(8); // Example: n for Fibonacci
+
+ const handleVisualize = () => console.log('Visualize clicked!', { selectedProblem, inputValue });
+ const handleReset = () => {
+ setInputValue(0);
+ console.log('Reset clicked!');
+ };
+
return (
-
-
-
-
- Dynamic Programming Visualizer
-
-
- Visualize dynamic programming algorithms and optimization problems
-
-
+
+ {/* Spacer div */}
+
+
+ {/* 1. Gradient Header Card */}
+
+
+ Dynamic Programming Visualizer
+
+
+ Visualize dynamic programming algorithms and optimization problems.
+
+
+
+
-
-
DP visualizer coming soon...
+ {/* 2. Left Column: Inputs & Controls Card */}
+
+
+
+
+ Problem & Controls
+
+
+ {/* Problem Selection */}
+
+
+
+
+
+ {/* Conditional Inputs based on selected problem */}
+
+
+ setInputValue(Number(e.target.value))}
+ className="w-full p-3 bg-slate-100 text-slate-800 placeholder-slate-400 rounded-lg border border-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 transition"
+ placeholder="Enter a number..."
+ />
+
+
+ {/* Buttons */}
+
+
+
+
+
+
+ {/* 3. Right Column: Display Area Card */}
+
+
+
+
+ Visualization
+
+
+ The visualization area for the {selectedProblem} problem will appear here.
+
+
+
+
);
};
-export default DPVisualizer;
+export default DPVisualizer;
\ No newline at end of file