Skip to content

Commit 118afad

Browse files
committed
fix(settings): improve checkbox handling and slider configuration in ConcurrentFileReadsExperiment
1 parent e59c5da commit 118afad

File tree

1 file changed

+32
-17
lines changed

1 file changed

+32
-17
lines changed

webview-ui/src/components/settings/ConcurrentFileReadsExperiment.tsx

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)