Explorar o código

fix(app): agent fallback colors

adamelmore hai 3 semanas
pai
achega
743e83d9bf
Modificáronse 2 ficheiros con 13 adicións e 1 borrados
  1. 2 1
      packages/app/src/pages/layout.tsx
  2. 11 0
      packages/app/src/utils/agent.ts

+ 2 - 1
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(() =>

+ 11 - 0
packages/app/src/utils/agent.ts

@@ -0,0 +1,11 @@
+const defaults: Record<string, string> = {
+  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()]
+}