From 799889c5cd2009181e129e8147b9563b6b0d9e53 Mon Sep 17 00:00:00 2001 From: David Hill <1879069+iamdavidhill@users.noreply.github.com> Date: Mon, 13 Jul 2026 13:33:38 +0000 Subject: [PATCH 1/3] fix(app): use OpenCode logo for free models --- packages/app/src/components/prompt-input.tsx | 68 +++++++++++--------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index 7db0583c51..f7785e39b5 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -34,6 +34,7 @@ import { useComments } from "@/context/comments" import { Button } from "@opencode-ai/ui/button" import { DockShellForm, DockTray } from "@opencode-ai/ui/dock-surface" import { Icon } from "@opencode-ai/ui/icon" +import { Mark } from "@opencode-ai/ui/logo" import { ProviderIcon } from "@opencode-ai/ui/provider-icon" import { Tooltip, TooltipKeybind } from "@opencode-ai/ui/tooltip" import { ButtonV2 } from "@opencode-ai/ui/v2/button-v2" @@ -1550,6 +1551,9 @@ export const PromptInput: Component = (props) => { keybind: command.keybindParts("model.choose"), model: props.controls.model.selection, providerID: props.controls.model.selection.current()?.provider?.id, + free: + props.controls.model.selection.current()?.provider?.id === "opencode" && + (!props.controls.model.selection.current()?.cost || props.controls.model.selection.current()?.cost.input === 0), modelName: props.controls.model.selection.current()?.name ?? language.t("dialog.model.select.title"), newLayoutDesigns: props.controls.newLayoutDesigns, style: control(), @@ -2083,13 +2087,10 @@ export const PromptInput: Component = (props) => { )) }} > - - - + {props.controls.model.selection.current()?.name ?? language.t("dialog.model.select.title")} @@ -2117,13 +2118,10 @@ export const PromptInput: Component = (props) => { }} onClose={restoreFocus} > - - - + {props.controls.model.selection.current()?.name ?? language.t("dialog.model.select.title")} @@ -2192,6 +2190,7 @@ type ComposerModelControlState = { keybind: string[] model: ReturnType["model"] providerID?: string + free: boolean modelName: string newLayoutDesigns: boolean style: JSX.CSSProperties | undefined @@ -2260,15 +2259,7 @@ function ComposerModelControl(props: { state: ComposerModelControlState }) { style={props.state.style} onClick={props.state.onUnpaidClick} > - - {(providerID) => ( - - )} - + {props.state.modelName} @@ -2347,15 +2338,7 @@ function ComposerModelControl(props: { state: ComposerModelControlState }) { function ModelControlContent(props: { state: ComposerModelControlState; v2?: boolean }) { return ( <> - - {(providerID) => ( - - )} - + {props.state.modelName} @@ -2363,3 +2346,24 @@ function ModelControlContent(props: { state: ComposerModelControlState; v2?: boo ) } + +function ModelProviderIcon(props: { providerID?: string; free: boolean }) { + return ( + + {(providerID) => ( + + } + > + + + )} + + ) +} From df09cff22e76c86193ba272a0266277d4d6b0e8c Mon Sep 17 00:00:00 2001 From: David Hill <1879069+iamdavidhill@users.noreply.github.com> Date: Wed, 15 Jul 2026 11:41:54 +0000 Subject: [PATCH 2/3] fix(app): align free model logo bounds --- packages/app/src/components/prompt-input.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index f7785e39b5..976e86d133 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -2361,7 +2361,9 @@ function ModelProviderIcon(props: { providerID?: string; free: boolean }) { /> } > - + + + )} From 1bf2a3ff71384313c55c8fe0ddcd2512d83510e9 Mon Sep 17 00:00:00 2001 From: David Hill <1879069+iamdavidhill@users.noreply.github.com> Date: Wed, 15 Jul 2026 11:46:28 +0000 Subject: [PATCH 3/3] fix(app): reduce free model logo width --- packages/app/src/components/prompt-input.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index 976e86d133..d2036319a7 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -2362,7 +2362,7 @@ function ModelProviderIcon(props: { providerID?: string; free: boolean }) { } > - + )}