import React from 'react'; import { Card } from '@/components/ui/card'; import { Progress } from '@/components/ui/progress'; import { Blend, Target, TrendingUp, TrendingDown, Minus } from 'lucide-react'; import type { ProbabilityFusion } from '@/core/enhanced6DProbabilityMatrix'; interface ProbabilityMatrixDisplayProps { fusion: ProbabilityFusion | null; } export function ProbabilityMatrixDisplay({ fusion }: ProbabilityMatrixDisplayProps) { if (!fusion) { return (
Awaiting probability fusion...
); } const ActionIcon = fusion.action.includes('BUY') ? TrendingUp : fusion.action.includes('SELL') ? TrendingDown : Minus; const actionColor = fusion.action.includes('BUY') ? 'text-success' : fusion.action.includes('SELL') ? 'text-destructive' : 'text-muted-foreground'; return (

Probability Matrix Fusion

{/* Input Probabilities */}
{/* Fusion Result */}
Fused Probability Resonance Boost: +{(fusion.resonanceBoost * 100).toFixed(1)}%
{/* Gradient bar */}
{/* Indicator */}
{/* Value label */}
{(fusion.fusedProbability * 100).toFixed(1)}%
{/* Action & Confidence */}
{fusion.action.replace('_', ' ')}
Confidence
{(fusion.confidence * 100).toFixed(0)}%
{/* Harmonic Lock Indicator */} {fusion.harmonicLock && (
HARMONIC LOCK ACTIVE
)}
); } function ProbabilityBar({ label, value, weight, color }: { label: string; value: number; weight: number; color: string; }) { const direction = value >= 0.5 ? 'BULL' : 'BEAR'; const directionColor = value >= 0.5 ? 'text-success' : 'text-destructive'; return (
{label} ({(weight * 100).toFixed(0)}% weight)
{direction} {(value * 100).toFixed(1)}%
); }