From 79863e2a5f90134cd0b528a62fec438605956bed Mon Sep 17 00:00:00 2001 From: Yashas Date: Wed, 9 Sep 2026 23:56:29 +0530 Subject: [PATCH] =?UTF-8?q?console:=20the=20Lead=20Desk=20redesign=20?= =?UTF-8?q?=E2=80=94=20one=20colour=20rule=20for=20who=20holds=20the=20wor?= =?UTF-8?q?k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements the design in zurich-kotak-leaddesk across every screen. Foundation: Source Sans 3 bundled from src/assets/fonts (no Google Fonts request), 15px root, navy/blue/amber/teal/red palette where blue is the AI, amber a person, teal the customer and red is reserved for risk; flat white 10px cards on a grey canvas, no shadows. Shell: 56px navy masthead (Z wordmark, Lead Desk, user), 232px white nav grouped Needs you / Scheduled / History with coloured count pills and the closed stages folded. Overview: the hero says who holds each open lead (stacked bar + legend) beside the renewals-at-risk card; five KPIs incl. Closed to date; Waiting on a person queue with owner dots and "N more with the AI"; Pipeline by stage with owner-coloured bars; Renewal exposure with tabs, dropdown filters and a Holding it column. Lead: back button, id line, holder pill; one attention banner (amber your turn / blocked, red stalled, blue with the AI, teal with the customer) that carries its button; four facts with a confidence bar; navy steps rail whose current step takes its holder's colour; timeline as an avatar gutter with title, stage pill, by-line + AI tag and text-link actions (See reasoning · N steps, Hear the call, Open thread); side column flows. Lists: card with search + hide-closed toggle, columns Customer / Stage / Renewal due / Holding it / Premium / Last activity, stalled rows get a red inset, closed rows dim, person-gated queues split into Your turn / With the AI group rows. src/api/holder.js is the single rule for holder tone + label so the table cells, the overview and the lead header cannot disagree. Co-Authored-By: Claude Fable 5.1 --- index.html | 9 +- src/api/config.js | 11 +- src/api/holder.js | 36 + .../source-sans-3-latin-400-normal.woff2 | Bin 0 -> 15696 bytes .../source-sans-3-latin-500-normal.woff2 | Bin 0 -> 15652 bytes .../source-sans-3-latin-600-normal.woff2 | Bin 0 -> 15668 bytes .../source-sans-3-latin-700-normal.woff2 | Bin 0 -> 15596 bytes .../source-sans-3-latin-ext-400-normal.woff2 | Bin 0 -> 33024 bytes .../source-sans-3-latin-ext-500-normal.woff2 | Bin 0 -> 32940 bytes .../source-sans-3-latin-ext-600-normal.woff2 | Bin 0 -> 32704 bytes .../source-sans-3-latin-ext-700-normal.woff2 | Bin 0 -> 32956 bytes src/components/AgentChip.css | 117 +- src/components/AgentChip.jsx | 17 +- src/components/ChainOfThought.css | 114 +- src/components/ChainOfThought.jsx | 2 +- src/components/StageRail.css | 116 +- src/components/StageRail.jsx | 5 +- src/components/Timeline.css | 405 +-- src/components/Timeline.jsx | 91 +- src/index.css | 295 +-- src/layout/Shell.css | 382 +-- src/layout/Shell.jsx | 151 +- src/layout/UserMenu.css | 178 +- src/layout/UserMenu.jsx | 7 +- src/screens/Lead.jsx | 266 +- src/screens/Overview.jsx | 328 +-- src/screens/Pipeline.jsx | 232 +- src/screens/screens.css | 2272 +++-------------- 28 files changed, 1350 insertions(+), 3684 deletions(-) create mode 100644 src/api/holder.js create mode 100644 src/assets/fonts/source-sans-3-latin-400-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-500-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-600-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-700-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-ext-400-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-ext-500-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-ext-600-normal.woff2 create mode 100644 src/assets/fonts/source-sans-3-latin-ext-700-normal.woff2 diff --git a/index.html b/index.html index 710be6e..85a8a15 100644 --- a/index.html +++ b/index.html @@ -13,12 +13,9 @@ Zurich Kotak | Lead Desk - - - - +