@@ -118,20 +118,13 @@ function getExpectedTrace(level: number, taskText: string): ExpectedStep[] {
118118}
119119
120120// ---- component ----
121- export default function LevelComponent ( ) {
122- const [ selectedLevel , setSelectedLevel ] = useState ( 2 ) ;
121+ export default function LevelComponent ( { selectedLevel, onClose} ) {
123122 const [ output , setOutput ] = useState ( "Waiting for code..." ) ;
124123 const [ isError , setIsError ] = useState < boolean | null > ( null ) ;
125124
126125 const config = LEVEL_CONFIGS [ selectedLevel ] ?? LEVEL_CONFIGS [ 2 ] ;
127126 const expectedTrace = getExpectedTrace ( selectedLevel , config . task ) ;
128127
129- const handleLevelSelect = ( level : number ) => {
130- setSelectedLevel ( level ) ;
131- setOutput ( "Waiting for code..." ) ;
132- setIsError ( null ) ;
133- } ;
134-
135128 const handleOutput = ( text : string , error : boolean ) => {
136129 setOutput ( text ) ;
137130 setIsError ( error ) ;
@@ -145,7 +138,17 @@ export default function LevelComponent() {
145138 < div className = "flex w-full max-w-[1600px] mx-auto px-8 gap-10" >
146139
147140 { /* level select */ }
148- < LevelSelect active = { selectedLevel } onSelect = { handleLevelSelect } />
141+ < button
142+ onClick = { onClose }
143+ style = { {
144+ backgroundColor : "#3A3A3A" ,
145+ boxShadow : "0 6px 0 #1A1A1A" ,
146+ cursor : "default" ,
147+ } }
148+ className = { `w-20 h-20 rounded-2xl flex items-center justify-center flex-shrink-0 hover:brightness-110 active:brightness-90` }
149+ >
150+ < img src = { `/x.png` } alt = { `X` } className = "h-12 w-12 object-contain" />
151+ </ button >
149152
150153 { /* main content */ }
151154 < div className = "flex-1 flex flex-col gap-6" >
0 commit comments