+
System Message
0 ||
(metrics?.tool_loop_ms ?? 0) > 0) && (
-
+
Latency Breakdown
-
+
{(metricsSafe.prompt_build_ms ?? 0) > 0 &&
prompt {metricsSafe.prompt_build_ms}ms}
{(metricsSafe.tools_build_ms ?? 0) > 0 &&
tools {metricsSafe.tools_build_ms}ms}
{(metricsSafe.model_resolve_ms ?? 0) > 0 &&
model {metricsSafe.model_resolve_ms}ms}
@@ -224,10 +224,10 @@ export default function LogsRow({ log, isEven }: LogsRowProps) {
)}
{Array.isArray(metrics?.tool_timings) && metrics.tool_timings.length > 0 && (
-
+
Tool Timings
-
+
{metrics.tool_timings.map((tool: any, index: number) => (
{tool.toolName || 'tool'} {tool.durationMs ?? 0}ms
@@ -238,15 +238,15 @@ export default function LogsRow({ log, isEven }: LogsRowProps) {
)}
{Array.isArray(metrics?.tools_used) && metrics.tools_used.length > 0 && (
-
+
Tools Used
-
+
{metrics.tools_used.join(', ')}
)}
-
+
Snapshot JSON
{log.enriched_summary && (
-
+
Enriched Summary
-
diff --git a/src/components/settings/LogsViewer.tsx b/src/components/settings/LogsViewer.tsx
index 68d3a16..cb8a44e 100644
--- a/src/components/settings/LogsViewer.tsx
+++ b/src/components/settings/LogsViewer.tsx
@@ -90,7 +90,7 @@ export default function LogsViewer() {
if (loading) {
return (
-
+
Loading logs...
);
@@ -106,7 +106,7 @@ export default function LogsViewer() {
if (logs.length === 0) {
return (
-
+
No logs found
);
diff --git a/src/components/settings/SettingsModal.tsx b/src/components/settings/SettingsModal.tsx
index eb125d3..7eec010 100644
--- a/src/components/settings/SettingsModal.tsx
+++ b/src/components/settings/SettingsModal.tsx
@@ -68,8 +68,8 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
width: '80vw',
height: '85vh',
- background: '#0f0f0f',
- border: '1px solid #2a2a2a',
+ background: 'var(--rah-bg-surface)',
+ border: '1px solid var(--rah-border-strong)',
borderRadius: '8px',
boxShadow: '0 8px 32px rgba(0, 0, 0, 0.6)',
display: 'flex',
@@ -81,8 +81,8 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
Settings
@@ -105,8 +105,8 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'logs' ? '#fff' : '#888',
- background: activeTab === 'logs' ? '#1a3a2a' : 'transparent',
+ color: activeTab === 'logs' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
+ background: activeTab === 'logs' ? '#1a3a2a' : 'transparent', // semantic active state kept
borderLeft: activeTab === 'logs' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
transition: 'all 0.2s'
@@ -119,7 +119,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'tools' ? '#fff' : '#888',
+ color: activeTab === 'tools' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'tools' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'tools' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -133,7 +133,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'guides' ? '#fff' : '#888',
+ color: activeTab === 'guides' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'guides' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'guides' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -147,7 +147,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'apikeys' ? '#fff' : '#888',
+ color: activeTab === 'apikeys' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'apikeys' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'apikeys' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -161,7 +161,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'database' ? '#fff' : '#888',
+ color: activeTab === 'database' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'database' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'database' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -175,7 +175,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'context' ? '#fff' : '#888',
+ color: activeTab === 'context' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'context' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'context' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -189,7 +189,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: activeTab === 'agents' ? '#fff' : '#888',
+ color: activeTab === 'agents' ? 'var(--rah-text-active)' : 'var(--rah-text-muted)',
background: activeTab === 'agents' ? '#1a3a2a' : 'transparent',
borderLeft: activeTab === 'agents' ? '3px solid #22c55e' : '3px solid transparent',
cursor: 'pointer',
@@ -202,7 +202,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: '#888',
+ color: 'var(--rah-text-muted)',
opacity: 0.4,
cursor: 'not-allowed'
}}
@@ -213,7 +213,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
padding: '12px 24px',
fontSize: '14px',
- color: '#888',
+ color: 'var(--rah-text-muted)',
opacity: 0.4,
cursor: 'not-allowed'
}}
@@ -226,7 +226,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
marginTop: 'auto',
padding: '24px',
- borderTop: '1px solid #1f2937',
+ borderTop: '1px solid var(--rah-border)',
display: 'flex',
flexDirection: 'column',
gap: '12px'
@@ -268,7 +268,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
{activeTab === 'logs' && 'System Logs'}
@@ -295,7 +295,7 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
style={{
background: 'transparent',
border: 'none',
- color: '#888',
+ color: 'var(--rah-text-muted)',
cursor: 'pointer',
fontSize: '24px',
lineHeight: 1,
@@ -303,10 +303,10 @@ export default function SettingsModal({ isOpen, onClose, initialTab }: SettingsM
transition: 'color 0.2s'
}}
onMouseEnter={(e) => {
- e.currentTarget.style.color = '#fff';
+ e.currentTarget.style.color = 'var(--rah-text-active)';
}}
onMouseLeave={(e) => {
- e.currentTarget.style.color = '#888';
+ e.currentTarget.style.color = 'var(--rah-text-muted)';
}}
title="Close (ESC)"
>
diff --git a/src/components/views/DatabaseTableView.tsx b/src/components/views/DatabaseTableView.tsx
index 097fe44..90e9d71 100644
--- a/src/components/views/DatabaseTableView.tsx
+++ b/src/components/views/DatabaseTableView.tsx
@@ -175,13 +175,13 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
-
+
{ setSearchQuery(''); setActiveSearch(''); }}
- style={{ background: 'transparent', border: 'none', color: '#555', cursor: 'pointer', padding: 0, display: 'flex' }}
+ style={{ background: 'transparent', border: 'none', color: 'var(var(--rah-text-muted))', cursor: 'pointer', padding: 0, display: 'flex' }}
>
@@ -236,8 +236,8 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
style={{
display: 'flex', alignItems: 'center', gap: '4px',
padding: '4px 7px', background: 'transparent',
- border: '1px solid #222', borderRadius: '5px',
- color: '#888', fontSize: '11px', cursor: 'pointer',
+ border: '1px solid var(--rah-border-strong)', borderRadius: '5px',
+ color: 'var(var(--rah-text-muted))', fontSize: '11px', cursor: 'pointer',
}}
onMouseEnter={(e) => { e.currentTarget.style.background = 'rgba(255,255,255,0.04)'; }}
onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }}
@@ -249,7 +249,7 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
{showFilterPicker && (
@@ -260,13 +260,13 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
placeholder="Search dimensions..."
autoFocus
style={{
- width: '100%', padding: '7px 10px', background: '#0d0d0d',
+ width: '100%', padding: '7px 10px', background: 'var(var(--rah-bg-surface))',
border: '1px solid transparent', borderRadius: '6px',
- color: '#f0f0f0', fontSize: '12px', marginBottom: '4px', outline: 'none',
+ color: 'var(var(--rah-text-active))', fontSize: '12px', marginBottom: '4px', outline: 'none',
}}
/>
{filterPickerDimensions.length === 0 ? (
-
+
No matching dimensions
) : (
@@ -283,14 +283,14 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
style={{
display: 'flex', alignItems: 'center', justifyContent: 'space-between',
width: '100%', padding: '7px 10px', background: 'transparent',
- border: 'none', borderRadius: '5px', color: '#ccc',
+ border: 'none', borderRadius: '5px', color: 'var(var(--rah-text-secondary))',
fontSize: '12px', cursor: 'pointer', textAlign: 'left',
}}
onMouseEnter={(e) => { e.currentTarget.style.background = 'rgba(255,255,255,0.04)'; }}
onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }}
>
{d.dimension}
-
+
{d.count}
@@ -303,7 +303,7 @@ export default function DatabaseTableView({ onNodeClick, refreshToken = 0, toolb
{selectedFilters.length > 0 && (