fix: use hideCosts to conditionally render cost displays in UI components

This commit is contained in:
Roo Code 2026-01-02 16:53:15 +00:00
parent bc7960819d
commit 43967dcfb5
4 changed files with 12 additions and 6 deletions

View file

@ -358,6 +358,7 @@ export type ExtensionState = Pick<
remoteControlEnabled: boolean
taskSyncEnabled: boolean
featureRoomoteControlEnabled: boolean
hideCosts?: boolean
claudeCodeIsAuthenticated?: boolean
debug?: boolean
}

View file

@ -62,7 +62,7 @@ const TaskHeader = ({
todos,
}: TaskHeaderProps) => {
const { t } = useTranslation()
const { apiConfiguration, currentTaskItem, clineMessages, isBrowserSessionActive } = useExtensionState()
const { apiConfiguration, currentTaskItem, clineMessages, isBrowserSessionActive, hideCosts } = useExtensionState()
const { id: modelId, info: model } = useSelectedModel(apiConfiguration)
const [isTaskExpanded, setIsTaskExpanded] = useState(false)
const [showLongRunningTaskMessage, setShowLongRunningTaskMessage] = useState(false)
@ -249,7 +249,7 @@ const TaskHeader = ({
{formatLargeNumber(contextTokens || 0)} / {formatLargeNumber(contextWindow)}
</span>
</StandardTooltip>
{!!totalCost && <span>${totalCost.toFixed(2)}</span>}
{!hideCosts && !!totalCost && <span>${totalCost.toFixed(2)}</span>}
</div>
{showBrowserGlobe && (
<div className="flex items-center gap-1" onClick={(e) => e.stopPropagation()}>
@ -381,7 +381,7 @@ const TaskHeader = ({
</tr>
)}
{!!totalCost && (
{!hideCosts && !!totalCost && (
<tr>
<th className="font-medium text-left align-top w-1 whitespace-nowrap pr-3 h-[24px]">
{t("chat:task.apiCost")}

View file

@ -42,9 +42,11 @@ export function CondensationResultRow({ data }: CondensationResultRowProps) {
{prevTokens.toLocaleString()} {newTokens.toLocaleString()}{" "}
{t("chat:contextManagement.tokens")}
</span>
<VSCodeBadge className={displayCost > 0 ? "opacity-100" : "opacity-0"}>
${displayCost.toFixed(2)}
</VSCodeBadge>
{!hideCosts && (
<VSCodeBadge className={displayCost > 0 ? "opacity-100" : "opacity-0"}>
${displayCost.toFixed(2)}
</VSCodeBadge>
)}
</div>
<span className={`codicon codicon-chevron-${isExpanded ? "up" : "down"}`}></span>
</div>

View file

@ -111,6 +111,7 @@ export interface ExtensionStateContextType extends ExtensionState {
setTaskSyncEnabled: (value: boolean) => void
featureRoomoteControlEnabled: boolean
setFeatureRoomoteControlEnabled: (value: boolean) => void
hideCosts?: boolean
setCurrentApiConfigName: (value: string) => void
setListApiConfigMeta: (value: ProviderSettingsEntry[]) => void
mode: Mode
@ -216,6 +217,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
remoteControlEnabled: false,
taskSyncEnabled: false,
featureRoomoteControlEnabled: false,
hideCosts: false,
currentApiConfigName: "default",
listApiConfigMeta: [],
mode: defaultModeSlug,
@ -473,6 +475,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
remoteControlEnabled: state.remoteControlEnabled ?? false,
taskSyncEnabled: state.taskSyncEnabled,
featureRoomoteControlEnabled: state.featureRoomoteControlEnabled ?? false,
hideCosts: state.hideCosts ?? false,
setExperimentEnabled: (id, enabled) =>
setState((prevState) => ({ ...prevState, experiments: { ...prevState.experiments, [id]: enabled } })),
setApiConfiguration,