Skip to content

Commit 1218c14

Browse files
authored
feat: add tooltips to user settings page (#7597)
1 parent 5740e78 commit 1218c14

File tree

2 files changed

+53
-6
lines changed

2 files changed

+53
-6
lines changed

gui/src/components/gui/Switch.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import { InformationCircleIcon } from "@heroicons/react/24/outline";
12
import React, { ReactNode } from "react";
23
import { vscButtonBackground } from "..";
4+
import { ToolTip } from "./Tooltip";
35

46
type ToggleSwitchProps = {
57
isToggled: boolean;
@@ -8,6 +10,7 @@ type ToggleSwitchProps = {
810
size?: number;
911
showIfToggled?: ReactNode;
1012
disabled?: boolean;
13+
tooltip?: string;
1114
};
1215

1316
const ToggleSwitch: React.FC<ToggleSwitchProps> = ({
@@ -17,12 +20,20 @@ const ToggleSwitch: React.FC<ToggleSwitchProps> = ({
1720
size = 16,
1821
showIfToggled,
1922
disabled = false,
23+
tooltip,
2024
}) => {
2125
return (
2226
<div
2327
className={`flex select-none items-center justify-between gap-3 ${disabled ? "cursor-not-allowed" : "cursor-pointer"}`}
2428
>
25-
<span className="truncate-right">{text}</span>
29+
<span className="truncate-right flex items-center gap-x-1">
30+
{text}{" "}
31+
{tooltip && (
32+
<ToolTip content={tooltip}>
33+
<InformationCircleIcon className="h-3 w-3" />
34+
</ToolTip>
35+
)}
36+
</span>
2637
<div className="flex flex-row items-center gap-1">
2738
{isToggled && !!showIfToggled && showIfToggled}
2839
<div

gui/src/pages/config/UserSettingsForm.tsx

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
CheckIcon,
33
ChevronRightIcon,
44
ExclamationTriangleIcon,
5+
InformationCircleIcon,
56
XMarkIcon,
67
} from "@heroicons/react/24/outline";
78
import {
@@ -177,6 +178,7 @@ export function UserSettingsForm() {
177178
})
178179
}
179180
text="Show Session Tabs"
181+
tooltip="If on, displays tabs above the chat as an alternative way to organize and access your sessions."
180182
/>
181183
<ToggleSwitch
182184
isToggled={codeWrap}
@@ -186,6 +188,7 @@ export function UserSettingsForm() {
186188
})
187189
}
188190
text="Wrap Codeblocks"
191+
tooltip="If on, displays tabs above the chat as an alternative way to organize and access your sessions."
189192
/>
190193

191194
<ToggleSwitch
@@ -196,6 +199,7 @@ export function UserSettingsForm() {
196199
})
197200
}
198201
text="Show Chat Scrollbar"
202+
tooltip="If on, enables a scrollbar in the chat window."
199203
/>
200204
<ToggleSwitch
201205
isToggled={readResponseTTS}
@@ -205,6 +209,7 @@ export function UserSettingsForm() {
205209
})
206210
}
207211
text="Text-to-Speech Output"
212+
tooltip="If on, reads LLM responses aloud with TTS."
208213
/>
209214
{/* <ToggleSwitch
210215
isToggled={useChromiumForDocsCrawling}
@@ -223,6 +228,7 @@ export function UserSettingsForm() {
223228
})
224229
}
225230
text="Enable Session Titles"
231+
tooltip="If on, generates summary titles for each chat session after the first message, using the current Chat model."
226232
/>
227233
<ToggleSwitch
228234
isToggled={!displayRawMarkdown}
@@ -232,6 +238,7 @@ export function UserSettingsForm() {
232238
})
233239
}
234240
text="Format Markdown"
241+
tooltip="If off, shows responses as raw text."
235242
/>
236243

237244
<ToggleSwitch
@@ -243,6 +250,7 @@ export function UserSettingsForm() {
243250
})
244251
}
245252
text="Allow Anonymous Telemetry"
253+
tooltip="If on, allows Continue to send anonymous telemetry."
246254
/>
247255

248256
<ToggleSwitch
@@ -267,7 +275,12 @@ export function UserSettingsForm() {
267275
/> */}
268276

269277
<label className="flex items-center justify-between gap-3">
270-
<span className="text-left">Font Size</span>
278+
<span className="flex items-center gap-x-1 text-left">
279+
Font Size{" "}
280+
<ToolTip content="Specifies base font size for UI elements">
281+
<InformationCircleIcon className="h-3 w-3" />
282+
</ToolTip>
283+
</span>
271284
<NumberInput
272285
value={fontSize}
273286
onChange={(val) => {
@@ -281,8 +294,11 @@ export function UserSettingsForm() {
281294
/>
282295
</label>
283296
<label className="flex items-center justify-between gap-3">
284-
<span className="lines lines-1 text-left">
297+
<span className="lines lines-1 flex items-center gap-x-1 text-left">
285298
Multiline Autocompletions
299+
<ToolTip content="Controls multiline completions for autocomplete.">
300+
<InformationCircleIcon className="h-3 w-3" />
301+
</ToolTip>
286302
</span>
287303
<Select
288304
value={useAutocompleteMultilineCompletions}
@@ -301,7 +317,12 @@ export function UserSettingsForm() {
301317
</Select>
302318
</label>
303319
<label className="flex items-center justify-between gap-3">
304-
<span className="text-left">Autocomplete Timeout (ms)</span>
320+
<span className="flex items-center gap-x-1 text-left">
321+
Autocomplete Timeout (ms)
322+
<ToolTip content="Maximum time in milliseconds for autocomplete request/retrieval.">
323+
<InformationCircleIcon className="h-3 w-3" />
324+
</ToolTip>
325+
</span>
305326
<NumberInput
306327
value={modelTimeout}
307328
onChange={(val) =>
@@ -314,7 +335,12 @@ export function UserSettingsForm() {
314335
/>
315336
</label>
316337
<label className="flex items-center justify-between gap-3">
317-
<span className="text-left">Autocomplete Debounce (ms)</span>
338+
<span className="flex items-center gap-x-1 text-left">
339+
Autocomplete Debounce (ms)
340+
<ToolTip content="Minimum time in milliseconds to trigger an autocomplete request after a change.">
341+
<InformationCircleIcon className="h-3 w-3" />
342+
</ToolTip>
343+
</span>
318344
<NumberInput
319345
value={debounceDelay}
320346
onChange={(val) =>
@@ -334,7 +360,12 @@ export function UserSettingsForm() {
334360
}}
335361
>
336362
<div className="flex items-center justify-between">
337-
<span>Disable autocomplete in files</span>
363+
<span className="flex items-center gap-x-1">
364+
Disable autocomplete in files
365+
<ToolTip content="List of comma-separated glob pattern to disable autocomplete in matching files. E.g., **/*.{txt,md}">
366+
<InformationCircleIcon className="h-3 w-3" />
367+
</ToolTip>
368+
</span>
338369
<div className="flex items-center gap-2">
339370
<Input
340371
value={formDisableAutocomplete}
@@ -401,6 +432,8 @@ export function UserSettingsForm() {
401432
})
402433
}
403434
text="Auto-Accept Agent Edits"
435+
tooltip="If on, diffs generated by the edit tool are
436+
automatically accepted and Agent proceeds with the next conversational turn."
404437
showIfToggled={
405438
<>
406439
<ToolTip
@@ -420,6 +453,7 @@ export function UserSettingsForm() {
420453
})
421454
}
422455
text="Add Current File by Default"
456+
tooltip="If on, the currently open file is added as context in every new conversation."
423457
/>
424458

425459
<ToggleSwitch
@@ -439,6 +473,7 @@ export function UserSettingsForm() {
439473
onlyUseSystemMessageTools: !onlyUseSystemMessageTools,
440474
})
441475
}
476+
tooltip="If on, Continue will not attempt to use native tool calling and will only use system message tools."
442477
text="Only use system message tools"
443478
/>
444479

@@ -460,6 +495,7 @@ export function UserSettingsForm() {
460495
})
461496
}
462497
text="Stream after tool rejection"
498+
tooltip="If on, streaming will continue after the tool call is rejected."
463499
/>
464500

465501
{hasContinueEmail && (

0 commit comments

Comments
 (0)