@@ -17,35 +17,50 @@ export const ConcurrentFileReadsExperiment = ({
1717} : ConcurrentFileReadsExperimentProps ) => {
1818 const { t } = useAppTranslation ( )
1919
20+ const handleChange = ( value : boolean ) => {
21+ // Set to 1 if disabling to reset the setting
22+ if ( ! value ) onMaxConcurrentFileReadsChange ( 1 )
23+ onEnabledChange ( value )
24+ }
25+
2026 return (
2127 < div >
2228 < div className = "flex items-center gap-2" >
23- < VSCodeCheckbox checked = { enabled } onChange = { ( e : any ) => onEnabledChange ( e . target . checked ) } >
29+ < VSCodeCheckbox
30+ checked = { enabled }
31+ onChange = { ( e : any ) => handleChange ( e . target . checked ) }
32+ data-testid = "concurrent-file-reads-checkbox" >
2433 < span className = "font-medium" > { t ( "settings:experimental.CONCURRENT_FILE_READS.name" ) } </ span >
2534 </ VSCodeCheckbox >
2635 </ div >
2736 < p className = "text-vscode-descriptionForeground text-sm mt-0" >
2837 { t ( "settings:experimental.CONCURRENT_FILE_READS.description" ) }
2938 </ p >
30-
39+
3140 { enabled && (
32- < div className = "ml-6 mt-3" >
33- < span className = "block text-sm mb-1" >
34- { t ( "settings:contextManagement.maxConcurrentFileReads.label" ) }
35- </ span >
36- < div className = "flex items-center gap-2" >
37- < Slider
38- min = { 1 }
39- max = { 100 }
40- step = { 1 }
41- value = { [ maxConcurrentFileReads ?? 15 ] }
42- onValueChange = { ( [ value ] ) => onMaxConcurrentFileReadsChange ( value ) }
43- data-testid = "max-concurrent-file-reads-slider"
44- />
45- < span className = "w-10 text-sm" > { maxConcurrentFileReads ?? 15 } </ span >
41+ < div className = "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background" >
42+ < div >
43+ < span className = "block text-sm mb-1" >
44+ { t ( "settings:contextManagement.maxConcurrentFileReads.label" ) }
45+ </ span >
46+ < div className = "flex items-center gap-2" >
47+ < Slider
48+ min = { 2 }
49+ max = { 100 }
50+ step = { 1 }
51+ value = { [
52+ maxConcurrentFileReads && maxConcurrentFileReads > 1 ? maxConcurrentFileReads : 15 ,
53+ ] }
54+ onValueChange = { ( [ value ] ) => onMaxConcurrentFileReadsChange ( value ) }
55+ data-testid = "max-concurrent-file-reads-slider"
56+ />
57+ < span className = "w-10 text-sm" >
58+ { maxConcurrentFileReads && maxConcurrentFileReads > 1 ? maxConcurrentFileReads : 15 }
59+ </ span >
60+ </ div >
4661 </ div >
4762 </ div >
4863 ) }
4964 </ div >
5065 )
51- }
66+ }
0 commit comments