From 743e83d9bfc050183be5bfb0f241ebe5faac6b35 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Tue, 27 Jan 2026 06:16:20 -0600 Subject: [PATCH] fix(app): agent fallback colors --- packages/app/src/pages/layout.tsx | 3 ++- packages/app/src/utils/agent.ts | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 packages/app/src/utils/agent.ts diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index ae501a7b7..283144872 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -57,6 +57,7 @@ import { Binary } from "@opencode-ai/util/binary" import { retry } from "@opencode-ai/util/retry" import { playSound, soundSrc } from "@/utils/sound" import { Worktree as WorktreeState } from "@/utils/worktree" +import { agentColor } from "@/utils/agent" import { useDialog } from "@opencode-ai/ui/context/dialog" import { useTheme, type ColorScheme } from "@opencode-ai/ui/theme" @@ -1639,7 +1640,7 @@ export default function Layout(props: ParentProps) { if (!user?.agent) return undefined const agent = sessionStore.agent.find((a) => a.name === user.agent) - return agent?.color + return agentColor(user.agent, agent?.color) }) const hoverMessages = createMemo(() => diff --git a/packages/app/src/utils/agent.ts b/packages/app/src/utils/agent.ts new file mode 100644 index 000000000..7c2c81e74 --- /dev/null +++ b/packages/app/src/utils/agent.ts @@ -0,0 +1,11 @@ +const defaults: Record = { + ask: "var(--icon-agent-ask-base)", + build: "var(--icon-agent-build-base)", + docs: "var(--icon-agent-docs-base)", + plan: "var(--icon-agent-plan-base)", +} + +export function agentColor(name: string, custom?: string) { + if (custom) return custom + return defaults[name] ?? defaults[name.toLowerCase()] +}