diff --git a/understand-anything-plugin/packages/dashboard/src/components/CodeViewer.tsx b/understand-anything-plugin/packages/dashboard/src/components/CodeViewer.tsx index 859799d..64fe249 100644 --- a/understand-anything-plugin/packages/dashboard/src/components/CodeViewer.tsx +++ b/understand-anything-plugin/packages/dashboard/src/components/CodeViewer.tsx @@ -27,8 +27,8 @@ export default function CodeViewer() { className="text-[10px] font-semibold uppercase tracking-wider px-2 py-0.5 rounded border" style={{ color: "var(--color-node-file)", - borderColor: "rgba(74,124,155,0.3)", - backgroundColor: "rgba(74,124,155,0.1)", + borderColor: "color-mix(in srgb, var(--color-node-file) 30%, transparent)", + backgroundColor: "color-mix(in srgb, var(--color-node-file) 10%, transparent)", }} > {node.type} diff --git a/understand-anything-plugin/packages/dashboard/src/components/GraphView.tsx b/understand-anything-plugin/packages/dashboard/src/components/GraphView.tsx index a7ee299..3f6db5c 100644 --- a/understand-anything-plugin/packages/dashboard/src/components/GraphView.tsx +++ b/understand-anything-plugin/packages/dashboard/src/components/GraphView.tsx @@ -158,11 +158,11 @@ function buildTopologyData( strokeWidth: 2.5, } : diffMode - ? { stroke: "rgba(212,165,116,0.08)", strokeWidth: 1 } - : { stroke: "rgba(212,165,116,0.3)", strokeWidth: 1.5 }, + ? { stroke: "var(--color-edge-dim)", strokeWidth: 1 } + : { stroke: "var(--color-edge)", strokeWidth: 1.5 }, labelStyle: diffMode && !isImpacted - ? { fill: "rgba(163,151,135,0.3)", fontSize: 10 } - : { fill: "#a39787", fontSize: 10 }, + ? { fill: "var(--color-text-muted)", fontSize: 10 } + : { fill: "var(--color-text-secondary)", fontSize: 10 }, }; }); @@ -262,13 +262,13 @@ function applyLayerGroups( style: { width: groupWidth, height: groupHeight, - backgroundColor: "rgba(212,165,116,0.05)", + backgroundColor: "var(--color-accent-overlay-bg)", borderRadius: 12, - border: "2px dashed rgba(212,165,116,0.25)", + border: "2px dashed var(--color-accent-overlay-border)", padding: 8, fontSize: 13, fontWeight: 600, - color: "#d4a574", + color: "var(--color-accent)", }, }); @@ -455,11 +455,11 @@ function GraphViewInner() { maxZoom={2} colorMode="dark" > - + diff --git a/understand-anything-plugin/packages/dashboard/src/index.css b/understand-anything-plugin/packages/dashboard/src/index.css index 3afaafa..321702c 100644 --- a/understand-anything-plugin/packages/dashboard/src/index.css +++ b/understand-anything-plugin/packages/dashboard/src/index.css @@ -21,6 +21,33 @@ --color-border-subtle: rgba(212, 165, 116, 0.12); --color-border-medium: rgba(212, 165, 116, 0.25); + /* Glass */ + --glass-bg: rgba(20, 20, 20, 0.8); + --glass-bg-heavy: rgba(20, 20, 20, 0.95); + --glass-border: rgba(212, 165, 116, 0.1); + --glass-border-heavy: rgba(212, 165, 116, 0.15); + + /* Scrollbar */ + --scrollbar-thumb: rgba(212, 165, 116, 0.2); + --scrollbar-thumb-hover: rgba(212, 165, 116, 0.35); + + /* Glow */ + --glow-accent: rgba(212, 165, 116, 0.15); + --glow-accent-strong: rgba(212, 165, 116, 0.4); + --glow-accent-pulse: rgba(212, 165, 116, 0.6); + + /* Edges */ + --color-edge: rgba(212, 165, 116, 0.3); + --color-edge-dim: rgba(212, 165, 116, 0.08); + --color-edge-dot: rgba(212, 165, 116, 0.15); + + /* Layer group (accent-based overlays) */ + --color-accent-overlay-bg: rgba(212, 165, 116, 0.05); + --color-accent-overlay-border: rgba(212, 165, 116, 0.25); + + /* kbd */ + --kbd-bg: rgba(212, 165, 116, 0.1); + /* Node type colors (muted, refined) */ --color-node-file: #4a7c9b; --color-node-function: #5a9e6f; @@ -65,15 +92,15 @@ body { /* Glass utility */ .glass { - background: rgba(20, 20, 20, 0.8); - border: 1px solid rgba(212, 165, 116, 0.1); + background: var(--glass-bg); + border: 1px solid var(--glass-border); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .glass-heavy { - background: rgba(20, 20, 20, 0.95); - border: 1px solid rgba(212, 165, 116, 0.15); + background: var(--glass-bg-heavy); + border: 1px solid var(--glass-border-heavy); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); } @@ -90,7 +117,7 @@ body { font-size: 0.75rem; font-weight: 600; color: var(--color-accent); - background: rgba(212, 165, 116, 0.1); + background: var(--kbd-bg); border: 1px solid rgba(212, 165, 116, 0.3); border-radius: 0.25rem; box-shadow: 0 1px 0 rgba(212, 165, 116, 0.2); @@ -119,10 +146,10 @@ body { @keyframes accentPulse { 0%, 100% { - box-shadow: 0 0 0 0 rgba(212, 165, 116, 0.4); + box-shadow: 0 0 8px var(--glow-accent-strong); } 50% { - box-shadow: 0 0 20px 4px rgba(212, 165, 116, 0.15); + box-shadow: 0 0 20px var(--glow-accent-pulse); } } @@ -141,7 +168,7 @@ body { /* Node selection glow */ .node-glow { - box-shadow: 0 0 20px rgba(212, 165, 116, 0.15); + box-shadow: 0 0 20px var(--glow-accent); } /* Diff overlay glow effects */ @@ -169,11 +196,11 @@ body { background: transparent; } ::-webkit-scrollbar-thumb { - background: rgba(212, 165, 116, 0.2); - border-radius: 3px; + background: var(--scrollbar-thumb); + border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { - background: rgba(212, 165, 116, 0.35); + background: var(--scrollbar-thumb-hover); } /* Override React Flow dark theme */