From 2faaaf7fa46919e6f4d210902e5d3b02d6cd2640 Mon Sep 17 00:00:00 2001 From: sohni-tagirisa <248822596+sohni-tagirisa@users.noreply.github.com> Date: Mon, 22 Jun 2026 20:04:58 -0700 Subject: [PATCH] frontend: replace hardcoded gold hex literals with brand tokens Swap 41 bracket-literal Tailwind utilities (#FDCE49/#DFA84A/#FFD966) for the existing pdd.gold / pdd.goldActive / pdd.goldHover theme tokens across App.tsx and 5 components. Opacity (/20, /60), gradient (from-/to-) and hover: variants preserved. No visual change; brand color now lives solely in index.html, unblocking the epic/1560 palette swap. Closes #1717 Co-Authored-By: Claude Opus 4.8 (1M context) --- pdd/frontend/App.tsx | 22 +++++++++---------- .../components/BatchFilterDropdown.tsx | 4 ++-- pdd/frontend/components/JobDashboard.tsx | 10 ++++----- pdd/frontend/components/ModuleNode.tsx | 2 +- pdd/frontend/components/PromptSelector.tsx | 2 +- pdd/frontend/components/SyncOptionsModal.tsx | 4 ++-- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pdd/frontend/App.tsx b/pdd/frontend/App.tsx index 7344c564a2..7ee5dfe9eb 100644 --- a/pdd/frontend/App.tsx +++ b/pdd/frontend/App.tsx @@ -859,12 +859,12 @@ const App: React.FC = () => { {/* CENTER: Main workflow buttons with gold border */}
-
+
@@ -1152,8 +1152,8 @@ const App: React.FC = () => { {view === 'devunits' && (
-
- +
+

Dev Units

@@ -1166,7 +1166,7 @@ const App: React.FC = () => { onClick={() => setDevUnitsSubView('graph')} className={`px-3 sm:px-4 py-1.5 sm:py-2 rounded-md text-xs sm:text-sm font-medium transition-all duration-200 ${ devUnitsSubView === 'graph' - ? 'bg-[#DFA84A] text-surface-900 shadow-md' + ? 'bg-pdd-goldActive text-surface-900 shadow-md' : 'text-surface-300 hover:text-white hover:bg-surface-700/50' }`} > @@ -1176,7 +1176,7 @@ const App: React.FC = () => { onClick={() => setDevUnitsSubView('list')} className={`px-3 sm:px-4 py-1.5 sm:py-2 rounded-md text-xs sm:text-sm font-medium transition-all duration-200 ${ devUnitsSubView === 'list' - ? 'bg-[#DFA84A] text-surface-900 shadow-md' + ? 'bg-pdd-goldActive text-surface-900 shadow-md' : 'text-surface-300 hover:text-white hover:bg-surface-700/50' }`} > diff --git a/pdd/frontend/components/BatchFilterDropdown.tsx b/pdd/frontend/components/BatchFilterDropdown.tsx index 3db2b9e9cb..be07c343d7 100644 --- a/pdd/frontend/components/BatchFilterDropdown.tsx +++ b/pdd/frontend/components/BatchFilterDropdown.tsx @@ -85,7 +85,7 @@ const BatchFilterDropdown: React.FC = ({ className={`px-3 py-1.5 rounded-lg text-sm font-medium flex items-center gap-1.5 transition-colors ${ disabled || selectedRemaining === 0 ? 'bg-surface-700 text-surface-500 cursor-not-allowed' - : 'bg-gradient-to-r from-[#FDCE49] to-[#DFA84A] hover:from-[#FFD966] hover:to-[#FDCE49] text-surface-900' + : 'bg-gradient-to-r from-pdd-gold to-pdd-goldActive hover:from-pdd-goldHover hover:to-pdd-gold text-surface-900' }`} > @@ -177,7 +177,7 @@ const BatchFilterDropdown: React.FC = ({ className={`mt-2 w-full px-3 py-1.5 rounded-lg text-xs font-medium flex items-center justify-center gap-1.5 transition-colors ${ disabled || remaining === 0 ? 'bg-surface-700 text-surface-500 cursor-not-allowed' - : 'bg-gradient-to-r from-[#FDCE49] to-[#DFA84A] hover:from-[#FFD966] hover:to-[#FDCE49] text-surface-900' + : 'bg-gradient-to-r from-pdd-gold to-pdd-goldActive hover:from-pdd-goldHover hover:to-pdd-gold text-surface-900' }`} > diff --git a/pdd/frontend/components/JobDashboard.tsx b/pdd/frontend/components/JobDashboard.tsx index f5f857d371..d0bdb95b2e 100644 --- a/pdd/frontend/components/JobDashboard.tsx +++ b/pdd/frontend/components/JobDashboard.tsx @@ -86,7 +86,7 @@ const JobDashboard: React.FC = ({ {/* Toggle icon with gold accent when jobs active */}
0 - ? 'bg-[#FDCE49]/20 text-[#FDCE49]' + ? 'bg-pdd-gold/20 text-pdd-gold' : isCollapsed ? 'bg-accent-500/20 text-accent-400' : 'bg-surface-700 text-white' @@ -118,8 +118,8 @@ const JobDashboard: React.FC = ({ {/* Active jobs badge with gold styling */} {activeJobs.length > 0 && ( - - + + {activeJobs.length} running )} @@ -194,8 +194,8 @@ const JobDashboard: React.FC = ({ {/* Active jobs section - Expandable cards */} {activeJobs.length > 0 && (
-

- +

+ Active Jobs

diff --git a/pdd/frontend/components/ModuleNode.tsx b/pdd/frontend/components/ModuleNode.tsx index 46ceae040f..ab0a357c75 100644 --- a/pdd/frontend/components/ModuleNode.tsx +++ b/pdd/frontend/components/ModuleNode.tsx @@ -150,7 +150,7 @@ const ModuleNode: React.FC> = ({ data, selected, xPos, {hasPrompt && onRunSync && !editMode && (