Skip to content

Commit 22a3028

Browse files
committed
Add showGreeting setting and related changes
1 parent 2e6a523 commit 22a3028

File tree

6 files changed

+37
-25
lines changed

6 files changed

+37
-25
lines changed

src/core/webview/ClineProvider.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,6 +1242,7 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
12421242
telemetrySetting,
12431243
showRooIgnoredFiles,
12441244
language,
1245+
showGreeting,
12451246
maxReadFileLine,
12461247
} = await this.getState()
12471248

@@ -1323,6 +1324,7 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
13231324
renderContext: this.renderContext,
13241325
maxReadFileLine: maxReadFileLine ?? 500,
13251326
settingsImportedAt: this.settingsImportedAt,
1327+
showGreeting: showGreeting ?? true, // Ensure showGreeting is included in the returned state
13261328
}
13271329
}
13281330

@@ -1410,6 +1412,7 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
14101412
telemetrySetting: stateValues.telemetrySetting || "unset",
14111413
showRooIgnoredFiles: stateValues.showRooIgnoredFiles ?? true,
14121414
maxReadFileLine: stateValues.maxReadFileLine ?? 500,
1415+
showGreeting: stateValues.showGreeting ?? true, // Ensure showGreeting is returned by getState
14131416
}
14141417
}
14151418

src/core/webview/webviewMessageHandler.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,11 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
645645
await updateGlobalState("diffEnabled", diffEnabled)
646646
await provider.postStateToWebview()
647647
break
648+
case "showGreeting":
649+
const showGreeting = message.bool ?? true
650+
await updateGlobalState("showGreeting", showGreeting)
651+
await provider.postStateToWebview()
652+
break
648653
case "enableCheckpoints":
649654
const enableCheckpoints = message.bool ?? true
650655
await updateGlobalState("enableCheckpoints", enableCheckpoints)

webview-ui/src/components/chat/ChatView.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
6969
alwaysAllowSubtasks,
7070
customModes,
7171
telemetrySetting,
72+
showGreeting,
7273
} = useExtensionState()
7374

7475
//const task = messages.length > 0 ? (messages[0].say === "task" ? messages[0] : undefined) : undefined) : undefined
@@ -95,7 +96,6 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
9596
const [showScrollToBottom, setShowScrollToBottom] = useState(false)
9697
const [isAtBottom, setIsAtBottom] = useState(false)
9798
const lastTtsRef = useRef<string>("")
98-
9999
const [wasStreaming, setWasStreaming] = useState<boolean>(false)
100100
const [showCheckpointWarning, setShowCheckpointWarning] = useState<boolean>(false)
101101

@@ -1207,10 +1207,12 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
12071207
}}>
12081208
{telemetrySetting === "unset" && <TelemetryBanner />}
12091209
{showAnnouncement && <Announcement version={version} hideAnnouncement={hideAnnouncement} />}
1210-
<div style={{ padding: "0 20px", flexShrink: 0 }}>
1211-
<h2>{t("chat:greeting")}</h2>
1212-
<p>{t("chat:aboutMe")}</p>
1213-
</div>
1210+
{showGreeting === true && (
1211+
<div style={{ padding: "0 20px", flexShrink: 0 }}>
1212+
<h2>{t("chat:greeting")}</h2>
1213+
<p>{t("chat:aboutMe")}</p>
1214+
</div>
1215+
)}
12141216
{taskHistory.length > 0 && <HistoryPreview showHistoryView={showHistoryView} />}
12151217
</div>
12161218
)}

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

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,39 @@
11
import { HTMLAttributes } from "react"
22
import { useAppTranslation } from "@/i18n/TranslationContext"
3-
import { Monitor } from "lucide-react"
4-
5-
import { cn } from "@/lib/utils"
63
import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"
4+
import { Monitor } from "lucide-react"
75

86
import { SetCachedStateField } from "./types"
97
import { SectionHeader } from "./SectionHeader"
108
import { Section } from "./Section"
119

1210
type InterfaceSettingsProps = HTMLAttributes<HTMLDivElement> & {
1311
showGreeting?: boolean
14-
setCachedStateField: SetCachedStateField<"showGreeting">
12+
setCachedStateField: SetCachedStateField<"showGreeting">
1513
}
1614

1715
export const InterfaceSettings = ({ showGreeting, setCachedStateField, ...props }: InterfaceSettingsProps) => {
1816
const { t } = useAppTranslation()
19-
2017
return (
21-
<div className={cn("flex flex-col gap-2")} {...props}>
18+
<div {...props}>
2219
<SectionHeader>
2320
<div className="flex items-center gap-2">
2421
<Monitor className="w-4" />
2522
<div>{t("settings:sections.interface")}</div>
2623
</div>
2724
</SectionHeader>
28-
29-
<Section>
30-
<VSCodeCheckbox checked={showGreeting} onChange={(e: any) => setCachedStateField("showGreeting", e.target.checked)}>
31-
<span className="font-medium">{t("settings:sections.interface:showGreeting")}</span>
32-
</VSCodeCheckbox>
25+
26+
<Section>
27+
<div>
28+
<VSCodeCheckbox
29+
checked={showGreeting}
30+
onChange={(e: any) => setCachedStateField("showGreeting", e.target.checked)}>
31+
<span className="font-medium">{t("settings:interface.showgreeting")}</span>
32+
</VSCodeCheckbox>
33+
<div className="text-vscode-descriptionForeground text-sm mt-1">
34+
{t("settings:interface.showgreeting.description")}
35+
</div>
36+
</div>
3337
</Section>
3438
</div>
3539
)

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
310310
{ id: "autoApprove", icon: CheckCheck, ref: autoApproveRef },
311311
{ id: "browser", icon: SquareMousePointer, ref: browserRef },
312312
{ id: "checkpoints", icon: GitBranch, ref: checkpointsRef },
313+
{ id: "interface", icon: Monitor, ref: interfaceRef },
313314
{ id: "notifications", icon: Bell, ref: notificationsRef },
314-
{ id: "interface", icon: Monitor, ref: interfaceRef},
315315
{ id: "contextManagement", icon: Database, ref: contextManagementRef },
316316
{ id: "terminal", icon: SquareTerminal, ref: terminalRef },
317317
{ id: "advanced", icon: Cog, ref: advancedRef },
@@ -324,6 +324,7 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
324324
autoApproveRef,
325325
browserRef,
326326
checkpointsRef,
327+
interfaceRef,
327328
notificationsRef,
328329
contextManagementRef,
329330
terminalRef,
@@ -476,6 +477,10 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
476477
/>
477478
</div>
478479

480+
<div ref={interfaceRef}>
481+
<InterfaceSettings showGreeting={showGreeting} setCachedStateField={setCachedStateField} />
482+
</div>
483+
479484
<div ref={notificationsRef}>
480485
<NotificationSettings
481486
ttsEnabled={ttsEnabled}
@@ -486,13 +491,6 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
486491
/>
487492
</div>
488493

489-
<div ref={interfaceRef}>
490-
<InterfaceSettings
491-
showGreeting={showGreeting}
492-
setCachedStateField={setCachedStateField}
493-
/>
494-
</div>
495-
496494
<div ref={contextManagementRef}>
497495
<ContextManagementSettings
498496
maxOpenTabsContext={maxOpenTabsContext}

webview-ui/src/context/ExtensionStateContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
318318
setAwsUsePromptCache: (value) => setState((prevState) => ({ ...prevState, awsUsePromptCache: value })),
319319
setMaxReadFileLine: (value) => setState((prevState) => ({ ...prevState, maxReadFileLine: value })),
320320
setPinnedApiConfigs: (value) => setState((prevState) => ({ ...prevState, pinnedApiConfigs: value })),
321-
setShowGreeting: (value) => setState((prevState) => ({ ...prevState, shouldShowGreeting: value })),
321+
setShowGreeting: (value) => setState((prevState) => ({ ...prevState, showGreeting: value })),
322322
togglePinnedApiConfig: (configId) =>
323323
setState((prevState) => {
324324
const currentPinned = prevState.pinnedApiConfigs || {}

0 commit comments

Comments
 (0)