From f2250c6073631fb8abcc0a9fe1898002d5f1ae2d Mon Sep 17 00:00:00 2001 From: 0xPratik Date: Mon, 7 Sep 2026 14:53:33 +0545 Subject: [PATCH 1/3] Add avatar palette coverage --- packages/chat-ui/src/avatar.test.tsx | 11 +++++++++-- packages/chat-ui/test/avatar-composition.test.tsx | 7 ++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/chat-ui/src/avatar.test.tsx b/packages/chat-ui/src/avatar.test.tsx index bb6bed6931..5869236454 100644 --- a/packages/chat-ui/src/avatar.test.tsx +++ b/packages/chat-ui/src/avatar.test.tsx @@ -2,7 +2,7 @@ import { describe, expect, test } from "bun:test"; import { renderToStaticMarkup } from "react-dom/server"; import { - AVATAR_COLORS, + AVATAR_PALETTE, CORBIT_DEFAULT_COLOR, CORBIT_GLINT_COLOR, CORBIT_VISOR_COLOR, @@ -29,7 +29,9 @@ describe("avatarColorForPrincipal", () => { "prn_frank", ]; for (const p of principals) { - expect(AVATAR_COLORS).toContain(avatarColorForPrincipal(p)); + expect(AVATAR_PALETTE.map((entry) => entry.color)).toContain( + avatarColorForPrincipal(p), + ); } }); @@ -55,6 +57,11 @@ describe("avatarClassForPrincipal", () => { avatarClassForPrincipal("prn_super_secret_internal_id"), ).not.toContain("prn_super_secret_internal_id"); }); + + test("selects one of the palette's Tailwind class pairs", () => { + const paletteClassNames = AVATAR_PALETTE.map((entry) => entry.className); + expect(paletteClassNames).toContain(avatarClassForPrincipal("prn_alice")); + }); }); describe("resolveAvatarFill", () => { diff --git a/packages/chat-ui/test/avatar-composition.test.tsx b/packages/chat-ui/test/avatar-composition.test.tsx index 35579bfcae..2fdebf34aa 100644 --- a/packages/chat-ui/test/avatar-composition.test.tsx +++ b/packages/chat-ui/test/avatar-composition.test.tsx @@ -3,7 +3,7 @@ import { renderToStaticMarkup } from "react-dom/server"; import { CorbitAvatar, - AVATAR_COLORS, + AVATAR_PALETTE, CORBIT_DEFAULT_COLOR, avatarClassForPrincipal, avatarColorForPrincipal, @@ -26,8 +26,9 @@ describe("avatar composition and identity resolution", () => { const aliceColor = avatarColorForPrincipal("usr_alice"); const bobColor = avatarColorForPrincipal("usr_bob"); - expect(AVATAR_COLORS).toContain(aliceColor); - expect(AVATAR_COLORS).toContain(bobColor); + const avatarColors = AVATAR_PALETTE.map((entry) => entry.color); + expect(avatarColors).toContain(aliceColor); + expect(avatarColors).toContain(bobColor); expect(avatarClassForPrincipal("usr_alice")).toContain(aliceColor); From dd5a845cf9d5da1f3afbe380b78fc84c0935c3c4 Mon Sep 17 00:00:00 2001 From: 0xPratik Date: Mon, 7 Sep 2026 14:54:21 +0545 Subject: [PATCH 2/3] Consolidate the avatar color palette --- apps/web/src/pages/create-agent-panel.tsx | 7 ++--- packages/chat-ui/src/avatar.tsx | 35 +++++++++++------------ packages/chat-ui/src/index.ts | 3 +- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/apps/web/src/pages/create-agent-panel.tsx b/apps/web/src/pages/create-agent-panel.tsx index b058eee921..1cd27bb684 100644 --- a/apps/web/src/pages/create-agent-panel.tsx +++ b/apps/web/src/pages/create-agent-panel.tsx @@ -53,8 +53,7 @@ import { import type { IntakeField } from "@corbits/react-ui"; import { useEffect, useState } from "react"; import { - AVATAR_COLORS, - avatarColorClass, + AVATAR_PALETTE, CORBIT_DEFAULT_COLOR, CorbitAvatar, } from "@corbits/chat-ui"; @@ -434,13 +433,13 @@ export function CreateAgentPanel({ size="lg" />
- {AVATAR_COLORS.map((color) => ( + {AVATAR_PALETTE.map(({ color, className }) => (