fix: bloc convergence toujours visible pour EUR/AUD (état Neutre)

État neutre (dir=neutral ET mispricDir=neutral) : fond bg-slate-800/40
border-slate-700/30 était quasi-invisible sur bg-slate-900.
Fix : fond bg-slate-800/60 border-slate-600/40 + labels Fond./Marché
en text-slate-400 (au lieu de 500) + flèches "—" en text-slate-500.
Refacto en IIFE pour clarifier la logique de couleur.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
caty21
2026-06-27 19:27:19 +02:00
co-authored by Claude Sonnet 4.6
parent 52b0167d28
commit 1a7468d718
+31 -13
View File
@@ -1335,19 +1335,37 @@ export default function CurrencyCard({
<> <>
{/* ── Convergence / Divergence macro ↔ marché ─────────────── */} {/* ── Convergence / Divergence macro ↔ marché ─────────────── */}
<div className={`rounded-lg border px-2.5 py-1.5 flex items-center gap-1.5 text-[10px] ${ {(() => {
bothOpposed ? "bg-amber-500/8 border-amber-500/25" const isNeutral = dir === "neutral" && mispricDir === "neutral";
: bothAligned ? sigBg(divergenceSignal) const verdictText = bothOpposed ? "⚠ Divergence"
: "bg-slate-800/40 border-slate-700/30" : bothAligned ? (divergenceSignal === "bullish" ? "✓ Convergence ↑" : "✓ Convergence ↓")
}`}> : dir !== "neutral" ? "Macro seule"
<span className="text-slate-500 shrink-0 text-[9px] uppercase tracking-wider">Fond.</span> : mispricDir !== "neutral" ? "Signaux seuls"
<span className={`font-black text-[13px] leading-none ${sigColor(dir)}`}>{dir === "bullish" ? "↑" : dir === "bearish" ? "↓" : "—"}</span> : "Neutre";
<span className={`font-bold flex-1 text-center ${bothOpposed ? "text-amber-400" : sigColor(divergenceSignal)}`}> const containerCls = bothOpposed
{bothOpposed ? "⚠ Divergence" : bothAligned ? (divergenceSignal === "bullish" ? "✓ Convergence ↑" : "✓ Convergence ↓") : dir !== "neutral" ? "Macro seule" : mispricDir !== "neutral" ? "Signaux seuls" : "Neutre"} ? "bg-amber-500/10 border-amber-500/30"
</span> : bothAligned
<span className={`font-black text-[13px] leading-none ${sigColor(mispricDir)}`}>{mispricDir === "bullish" ? "↑" : mispricDir === "bearish" ? "↓" : "—"}</span> ? sigBg(divergenceSignal)
<span className="text-slate-500 shrink-0 text-[9px] uppercase tracking-wider">Marché</span> : isNeutral
</div> ? "bg-slate-800/60 border-slate-600/40"
: "bg-slate-800/50 border-slate-600/30";
const verdictCls = bothOpposed ? "text-amber-400"
: isNeutral ? "text-slate-400"
: sigColor(divergenceSignal);
return (
<div className={`rounded-lg border px-2.5 py-1.5 flex items-center gap-1.5 text-[10px] ${containerCls}`}>
<span className="text-slate-400 shrink-0 text-[9px] uppercase tracking-wider font-semibold">Fond.</span>
<span className={`font-black text-[13px] leading-none ${dir === "neutral" ? "text-slate-500" : sigColor(dir)}`}>
{dir === "bullish" ? "↑" : dir === "bearish" ? "↓" : "—"}
</span>
<span className={`font-bold flex-1 text-center ${verdictCls}`}>{verdictText}</span>
<span className={`font-black text-[13px] leading-none ${mispricDir === "neutral" ? "text-slate-500" : sigColor(mispricDir)}`}>
{mispricDir === "bullish" ? "↑" : mispricDir === "bearish" ? "↓" : "—"}
</span>
<span className="text-slate-400 shrink-0 text-[9px] uppercase tracking-wider font-semibold">Marché</span>
</div>
);
})()}
{/* ── Slider macro : Mon. / Infl. / Cro. / Empl. ───────────── */} {/* ── Slider macro : Mon. / Infl. / Cro. / Empl. ───────────── */}
{(() => { {(() => {