11import { useState , useMemo } from 'react'
2- import type { InputData , PresetData , Step } from './types'
2+ import type { InputData , PresetData , Step , CodeLanguage } from './types'
33import { Header } from './components/Header'
44import { DataInput } from './components/DataInput'
55import { CodeDebugger } from './components/CodeDebugger'
66import { Canvas } from './components/Canvas'
77import { ControlPanel } from './components/ControlPanel'
88import { FloatingBall } from './components/FloatingBall'
99import { useAlgorithmPlayer } from './hooks/useAlgorithmPlayer'
10- import { generateSteps , TWO_SUM_CODE } from './utils/stepGenerator'
10+ import { generateSteps } from './utils/stepGenerator'
1111import styles from './App.module.css'
1212
1313const PRESETS : PresetData [ ] = [
@@ -21,6 +21,7 @@ const DEFAULT_INPUT: InputData = { nums: [2, 7, 11, 15], target: 9 }
2121
2222export default function App ( ) {
2323 const [ inputData , setInputData ] = useState < InputData > ( DEFAULT_INPUT )
24+ const [ selectedLanguage , setSelectedLanguage ] = useState < CodeLanguage > ( 'java' )
2425
2526 const steps : Step [ ] = useMemo ( ( ) => {
2627 return generateSteps ( inputData . nums , inputData . target )
@@ -47,7 +48,8 @@ export default function App() {
4748 < main className = { styles . main } >
4849 < div className = { styles . codePanel } >
4950 < CodeDebugger
50- code = { TWO_SUM_CODE }
51+ language = { selectedLanguage }
52+ onLanguageChange = { setSelectedLanguage }
5153 currentLine = { currentStep . currentLine }
5254 variables = { currentStep . variables }
5355 />
0 commit comments