-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Background
During Code Review (Batch 4) it was identified that OwnChart currently uses 5 different gray families:
neutral— Pure grays (Ribbon, Toolbar, UI chrome)brand— Outlook Blue scale (Buttons, Links, Accents)coolGray— Bootstrap/Tailwind cool-grays (GRID, TIMELINE_HEADER)slate— Tailwind Slate (CONNECTION_HANDLE, TOAST, Dependencies)- Fluent UI grays — (TABLE_HEADER, ROW_NUMBER)
Additionally, 10+ component files contain hardcoded rgb()/hex color values that are semantically design-token values (e.g. rgb(15, 108, 189) = brand[600]).
Tasks
- Full analysis: Where in the app are colors assigned?
- Inventory of all hardcoded color values in components (ideal: only centralized in
design-tokens.ts) - Assessment: Do we really need 5 gray families, or can we consolidate?
- Refactoring plan: Replace hardcoded colors in components with design-token imports
- Decision: Should a single unified gray system be used long-term?
Affected Component Files with Hardcoded Colors (from review)
src/components/TaskList/CellEditors/ColorPickerPopover.tsx(30+ values)src/components/Ribbon/ColorDropdown.tsx(20+ values)src/components/Toolbar/DropdownItem.tsxsrc/components/Toolbar/ToolbarPrimitives.tsxsrc/components/Toolbar/DropdownTrigger.tsxsrc/components/StatusBar/StatusBar.tsxsrc/components/Ribbon/Ribbon.tsxsrc/components/Ribbon/ZoomDropdown.tsx
Reactions are currently unavailable