feat(ui): apply branding tokens to chat surfaces#165
Conversation
👍 GitRank PR AnalysisScore: 20 points
Eligibility Checks
Impact SummaryThis PR fixes the Spritz chat shell to properly consume existing branding tokens for deployment-provided customization. The changes apply brand-emphasis surfaces to active chat rows, sidebar hover states, status pills, composer shell, slash command pills, and empty conversation state. The fix ensures TextCortex-specific branding from deployment overlays is reflected consistently throughout the chat UI without adding TextCortex-specific values to upstream Spritz. Analysis DetailsComponent Classification: This PR affects UI styling and branding token application across chat surfaces (composer, sidebar, message pills, empty state). Since it doesn't fit neatly into a specific component category and involves cross-cutting UI changes, OTHER is the appropriate classification. Severity Justification: This is a P2 (Medium) severity fix. It addresses a functional bug where the chat UI was not respecting runtime branding configuration tokens that should have been applied consistently. While this impacts user experience and visual consistency, it's not a critical service outage or data loss issue, and users have workarounds (the chat still functions, just without proper branding). Eligibility Notes: Issue: True - PR describes fixing a bug where branding tokens weren't being applied. Fix Implementation: True - code changes align with applying branding tokens to all mentioned surfaces. PR Linked: True - comprehensive description with TL;DR, summary, and testing instructions. Tests: True - PR adds 64 lines of test code across 3 test files with 12 passing tests. Tests Required: True - this is a functional UI fix affecting business logic (branding application), not a trivial change, so tests are appropriately required and included. Analyzed by GitRank 🤖 |
TL;DR
Makes the Spritz
/cchat surfaces consume the existing branding tokens so deployment-provided branding, including TextCortex's conversation palette, is reflected consistently in the conversation shell.Summary
Overview
This PR does not add any TextCortex-specific values to Spritz.
Instead, it fixes the generic chat shell so the
/croute actually respects the runtime branding config already provided by downstream deployments. That keeps TextCortex-specific branding in the deployment overlays while making the upstream Spritz chat UI honor those tokens consistently.Testing
cd ui && pnpm test src/components/acp/message.test.tsx src/components/acp/sidebar.test.tsx src/pages/chat.test.tsx12 passed