From d7c28009839868b820267001e5231712e5c6f77b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 11 Jul 2026 19:02:29 +0000 Subject: [PATCH] Apply monochrome dashboard theme and control-state fixes --- dashboard/src/App.jsx | 82 +++++++++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/dashboard/src/App.jsx b/dashboard/src/App.jsx index 22deac4..3432d90 100644 --- a/dashboard/src/App.jsx +++ b/dashboard/src/App.jsx @@ -16,21 +16,21 @@ const NODE_POS = { cart:[215,72], payment:[215,135], shipping:[215,195] }; -// ─── Colours — clean light palette ────────────────────────────────────────── +// ─── Colours — professional monochrome palette ────────────────────────────── const C = { - blue: "#2563EB", - indigo: "#4F46E5", - green: "#16A34A", - amber: "#D97706", - red: "#DC2626", - slate: "#475569", - sky: "#0EA5E9", - bg: "#F8FAFC", + blue: "#111111", + indigo: "#1F1F1F", + green: "#2B2B2B", + amber: "#3A3A3A", + red: "#000000", + slate: "#4A4A4A", + sky: "#262626", + bg: "#FAFAFA", surface: "#FFFFFF", - border: "#E2E8F0", - text: "#1E293B", - text2: "#64748B", - text3: "#94A3B8", + border: "#E5E5E5", + text: "#111111", + text2: "#525252", + text3: "#737373", }; // ─── Mock data ──────────────────────────────────────────────────────────────── @@ -72,12 +72,12 @@ const CMP_DATA = [ // ─── Helpers ────────────────────────────────────────────────────────────────── const phaseBadge = (phase) => { const map = { - Stable: {bg:"#DCFCE7",color:"#16A34A"}, - Scaling: {bg:"#FEF3C7",color:"#D97706"}, - Predicting:{bg:"#DBEAFE",color:"#2563EB"}, - Error: {bg:"#FEE2E2",color:"#DC2626"}, + Stable: {bg:"#F5F5F5",color:"#1F1F1F"}, + Scaling: {bg:"#F0F0F0",color:"#2B2B2B"}, + Predicting:{bg:"#EBEBEB",color:"#111111"}, + Error: {bg:"#E5E5E5",color:"#000000"}, }; - const s = map[phase] || {bg:"#F1F5F9",color:"#64748B"}; + const s = map[phase] || {bg:"#F5F5F5",color:"#525252"}; return ( { const color = v>=.82 ? C.green : v>=.68 ? C.amber : C.red; return (
-
+
{(v*100).toFixed(0)}% @@ -133,7 +133,7 @@ function CallGraph({chaos,graph}) { const sp=NODE_POS[s], tp=NODE_POS[t]; const hot = chaos&&(s==="checkout"||t==="checkout"); return ; + stroke={hot?"#4A4A4A":"#D4D4D4"} strokeWidth={hot?2:1.5} strokeDasharray={hot?"5 3":"none"}/>; })} {SERVICES.map(svc=>{ const p=NODE_POS[svc]; if(!p) return null; @@ -143,7 +143,7 @@ function CallGraph({chaos,graph}) { return ( new Date().toLocaleTimeString("en",{hour12:false})); useEffect(()=>{ const id = setInterval(()=>{ @@ -245,7 +245,7 @@ export default function App() { }}>
P
@@ -257,10 +257,16 @@ export default function App() {
{clock} - @@ -274,11 +280,17 @@ export default function App() { }} style={{ padding:"6px 14px", borderRadius:8, fontSize:12, fontWeight:600, cursor:"pointer", border:`1.5px solid ${chaos?C.red:C.border}`, - background:chaos?"#FEF2F2":C.surface, color:chaos?C.red:C.text2, + background:chaos?"#EAEAEA":C.surface, color:chaos?C.red:C.text2, transition:"all .15s" }}>{chaos?"✕ CHAOS ACTIVE":"⚡ Inject Chaos"} -