fix: OIS toujours visible + Résumé IA blanc + news séparées

- CurrencyCard: OIS toujours dans sigTabs (plus conditionnel à ratePath)
  → affiche état 'indisponible' quand données absentes, au lieu de disparaître
- NarrativeButton: couleur 'Résumé IA' blanc (#ffffff) au lieu d'amber
- NewsTab: Inflation/Géopolitique/Emploi/Énergie toujours visibles comme filtres
  → séparation TOP NEWS (articles avec étiquette macro) vs 'Autres actualités'
     (articles boursiers sans tag FX) dans section repliable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
caty21
2026-06-27 22:28:39 +02:00
co-authored by Claude Sonnet 4.6
parent 5b313a7e3e
commit c82dbb397b
3 changed files with 115 additions and 59 deletions
+14 -3
View File
@@ -1500,11 +1500,12 @@ export default function CurrencyCard({
<>
{/* ── Slider : OIS / COT / Sentiment ──────────────────────── */}
{(() => {
const sigTabs: { id: SignauxSlide; label: string }[] = [];
if (ratePath && ratePath.meetings.length > 0) sigTabs.push({ id: "ois", label: "OIS" });
// OIS est toujours présent (même si données indisponibles)
const sigTabs: { id: SignauxSlide; label: string }[] = [
{ id: "ois", label: "OIS" },
];
if (cot) sigTabs.push({ id: "cot", label: "COT" });
if (sentiment) sigTabs.push({ id: "sent", label: "Sentiment" });
if (!sigTabs.length) return <div className="text-center text-slate-600 text-[11px] py-4">Données insuffisantes</div>;
return (
<div className="space-y-1.5">
{sigTabs.length > 1 && (
@@ -1535,6 +1536,16 @@ export default function CurrencyCard({
{signauxSlide === "ois" && ratePath && ratePath.meetings.length > 0 && (
<OISEnhancedBlock ratePath={ratePath} />
)}
{/* OIS — état indisponible */}
{signauxSlide === "ois" && (!ratePath || !ratePath.meetings.length) && (
<div className="flex flex-col items-center justify-center h-full gap-3 text-slate-700">
<Target size={24} />
<div className="text-center">
<p className="text-[11px] text-slate-500">Données OIS indisponibles</p>
<p className="text-[10px] text-slate-600 mt-1">Cache actualisé par GitHub Actions (2448h)</p>
</div>
</div>
)}
{/* COT */}
{signauxSlide === "cot" && cot && (() => {