Closes #ISSUE-027-REGIME-UI - Implement regime indicator badge and dynamic meta-learner threshold
This commit is contained in:
@@ -168,6 +168,7 @@ export default function CryptoDemo() {
|
||||
const [trackers, setTrackers] = useState<TrackersMap>({});
|
||||
const [ensemblePredictions, setEnsemblePredictions] = useState<any>(null);
|
||||
const [loadingEnsemble, setLoadingEnsemble] = useState(false);
|
||||
const [activeRegime, setActiveRegime] = useState<number | null>(null);
|
||||
const [isShieldActive, setIsShieldActive] = useState(true);
|
||||
const [coins, setCoins] = useState<Record<string, CoinData>>(defaultCoins);
|
||||
const [feedbackFilterAsset, setFeedbackFilterAsset] = useState<'BTC' | 'ETH' | 'SOL'>('BTC');
|
||||
@@ -235,6 +236,7 @@ export default function CryptoDemo() {
|
||||
const data = await res.json();
|
||||
setEnsemblePredictions(data.predictions || null);
|
||||
setIsShieldActive(data.isShieldActive !== undefined ? data.isShieldActive : true);
|
||||
setActiveRegime(data.activeRegime !== undefined ? data.activeRegime : null);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("Failed to load ensemble predictions:", err);
|
||||
@@ -947,6 +949,25 @@ export default function CryptoDemo() {
|
||||
</button>
|
||||
</div>
|
||||
<div className="flex items-center gap-3">
|
||||
{rightColTab === 'radar' && activeRegime !== null && (
|
||||
<>
|
||||
{activeRegime === 1 && (
|
||||
<span className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-emerald-500/10 border border-emerald-500/20 backdrop-blur-md text-xs font-semibold text-emerald-400">
|
||||
<span>🟢</span> REGIME: CALM (MICROSTRUCTURE MODE)
|
||||
</span>
|
||||
)}
|
||||
{activeRegime === 2 && (
|
||||
<span className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-rose-500/10 border border-rose-500/30 backdrop-blur-md text-xs font-semibold text-rose-450 animate-pulse">
|
||||
<span className="animate-bounce">🚨</span> REGIME: TURBULENT (LIQUIDATION CASCADE)
|
||||
</span>
|
||||
)}
|
||||
{activeRegime === 3 && (
|
||||
<span className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-amber-500/10 border border-amber-500/20 backdrop-blur-md text-xs font-semibold text-amber-400">
|
||||
<span>🟡</span> REGIME: MEAN-REVERTING CHURN
|
||||
</span>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{rightColTab === 'radar' && (
|
||||
<button
|
||||
onClick={() => setShowRadarExplanation(!showRadarExplanation)}
|
||||
|
||||
Reference in New Issue
Block a user