diff --git a/web/src/tabs/MyStrategiesTab.tsx b/web/src/tabs/MyStrategiesTab.tsx index c5cb9f4..56ce30c 100644 --- a/web/src/tabs/MyStrategiesTab.tsx +++ b/web/src/tabs/MyStrategiesTab.tsx @@ -54,10 +54,10 @@ const ActiveStrategyCard: React.FC<{ const explanation = getStrategyExplanation(profile, botState); return ( -
{/* 2. Header Area */} @@ -86,17 +86,17 @@ const ActiveStrategyCard: React.FC<{ width: '44px', height: '44px', borderRadius: '14px', - background: 'rgba(255,255,255,0.03)', + background: 'var(--bl-surface-highlight)', display: 'flex', alignItems: 'center', justifyContent: 'center', - border: '1px solid rgba(255, 255, 255, 0.05)', - color: isSafe ? '#3498db' : isAggressive ? '#ff3366' : '#00ff88' + border: '1px solid var(--bl-border-subtle)', + color: isSafe ? 'var(--bl-info-strong)' : isAggressive ? 'var(--bl-danger)' : 'var(--bl-success)' }}> {isSafe ? : isAggressive ? : }
- Active Strategy + Active Strategy {profile.is_active ? 'Running' : 'Paused'} @@ -104,10 +104,10 @@ const ActiveStrategyCard: React.FC<{
{onBacktest && ( - } onClick={() => onBacktest(profile)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#555', cursor: 'pointer' }} className="icon-btn-hover" /> + } onClick={() => onBacktest(profile)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'var(--bl-surface-highlight)', border: '1px solid var(--bl-border-subtle)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: 'var(--bl-text-quiet)', cursor: 'pointer' }} className="icon-btn-hover" /> )} - } onClick={() => onEdit(profile)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#555', cursor: 'pointer' }} className="icon-btn-hover" /> - } onClick={() => onDelete(profile.id)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#555', cursor: 'pointer' }} className="icon-btn-hover" /> + } onClick={() => onEdit(profile)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'var(--bl-surface-highlight)', border: '1px solid var(--bl-border-subtle)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: 'var(--bl-text-quiet)', cursor: 'pointer' }} className="icon-btn-hover" /> + } onClick={() => onDelete(profile.id)} style={{ width: '38px', height: '38px', borderRadius: '10px', background: 'var(--bl-surface-highlight)', border: '1px solid var(--bl-border-subtle)', display: 'flex', alignItems: 'center', justifyContent: 'center', color: 'var(--bl-text-quiet)', cursor: 'pointer' }} className="icon-btn-hover" />
@@ -115,10 +115,10 @@ const ActiveStrategyCard: React.FC<{

{profile.name}

- + {profile.symbols} - + {strategyKindLabel}
@@ -127,21 +127,21 @@ const ActiveStrategyCard: React.FC<{ {/* 4. Operational DNA (Specs) */}
{[ - { label: 'Allocation', value: `$${profile.allocated_capital.toLocaleString()}`, icon: , color: '#00ff88' }, - { label: 'PnL (Global)', value: '$0.00', icon: , color: '#3498db' }, - { label: 'Target', value: `$${config?.riskLimits?.dailyProfitTargetUsd || 0}`, icon: , color: '#ffaa00' }, - { label: 'Latency', value: '5ms', icon: , color: '#ff3366' } + { label: 'Allocation', value: `$${profile.allocated_capital.toLocaleString()}`, icon: , color: 'var(--bl-success)' }, + { label: 'PnL (Global)', value: '$0.00', icon: , color: 'var(--bl-info-strong)' }, + { label: 'Target', value: `$${config?.riskLimits?.dailyProfitTargetUsd || 0}`, icon: , color: 'var(--bl-warning)' }, + { label: 'Latency', value: '5ms', icon: , color: 'var(--bl-danger)' } ].map((spec, i) => (
-
+
{spec.icon} {spec.label}
{spec.value}
@@ -159,8 +159,8 @@ const ActiveStrategyCard: React.FC<{ width: '100%', padding: '16px', borderRadius: '20px', - background: 'rgba(255,255,255,0.02)', - border: '1px solid rgba(255,255,255,0.05)', + background: 'var(--bl-surface-highlight)', + border: '1px solid var(--bl-border-subtle)', display: 'flex', flexDirection: 'column', gap: '8px', @@ -169,26 +169,26 @@ const ActiveStrategyCard: React.FC<{ }} >
-
+
Diagnostic Intelligence {tier === 'free' && }
- {isExpanded ? : } + {isExpanded ? : }
-

+

{explanation.reason}

{isExpanded && explanation.recommendation && (
-
+
Optimization
-

{explanation.recommendation}

+

{explanation.recommendation}

)} @@ -203,10 +203,10 @@ const ActiveStrategyCard: React.FC<{ style={{ width: '100%', height: '56px', - background: profile.is_active ? 'rgba(255,255,255,0.03)' : '#00ff88', - color: profile.is_active ? '#929292' : 'black', + background: profile.is_active ? 'var(--bl-surface-highlight)' : 'var(--bl-success)', + color: profile.is_active ? 'var(--bl-text-secondary)' : 'black', borderRadius: '18px', - border: profile.is_active ? '1px solid rgba(255,255,255,0.05)' : 'none', + border: profile.is_active ? '1px solid var(--bl-border-subtle)' : 'none', fontWeight: 900, fontSize: '12px', textTransform: 'uppercase', @@ -215,7 +215,7 @@ const ActiveStrategyCard: React.FC<{ alignItems: 'center', justifyContent: 'center', gap: '12px', - boxShadow: profile.is_active ? 'none' : '0 12px 36px -12px rgba(0, 255, 136, 0.4)', + boxShadow: profile.is_active ? 'none' : '0 12px 36px -12px color-mix(in oklab, var(--bl-success) 40%, transparent)', transition: 'all 0.2s', letterSpacing: '1.5px' }} @@ -231,15 +231,15 @@ const ActiveStrategyCard: React.FC<{