Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 1x 1x 1x 1x 1x 1x 1x 1x | import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"
import React, { useCallback, useState } from "react"
import { useExtensionState } from "@/context/ExtensionStateContext"
import { updateSetting } from "./utils/settingsHandlers"
interface CustomPromptCheckboxProps {
providerId: string
}
/**
* Checkbox to enable or disable the use of a compact prompt for local models providers.
*/
const UseCustomPromptCheckbox: React.FC<CustomPromptCheckboxProps> = ({ providerId }) => {
const { customPrompt } = useExtensionState()
const [isCompactPromptEnabled, setIsCompactPromptEnabled] = useState<boolean>(customPrompt === "compact")
const toggleCompactPrompt = useCallback((isChecked: boolean) => {
setIsCompactPromptEnabled(isChecked)
updateSetting("customPrompt", isChecked ? "compact" : "")
}, [])
return (
<div id={providerId}>
<VSCodeCheckbox checked={isCompactPromptEnabled} onChange={() => toggleCompactPrompt(!isCompactPromptEnabled)}>
Use compact prompt
</VSCodeCheckbox>
<div className="text-xs text-description">
A system prompt optimized for smaller context window (e.g. 8k or less).
<div className="text-error flex align-middle">
<i className="codicon codicon-x" />
Does not support Mcp and Focus Chain
</div>
</div>
</div>
)
}
export default UseCustomPromptCheckbox
|