From cf70e30db633d9d2df9c4b0c7e49fca55c63f90d Mon Sep 17 00:00:00 2001 From: caty21 Date: Sat, 27 Jun 2026 22:02:53 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20onglet=20March=C3=A9s=20+=20TvMiniChart?= =?UTF-8?q?=20sans=20popup=20+=20cache=20RP=2048h=20+=20OIS=20default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - page.tsx: onglet '🌍 MarchĂ©s' — S&P 500, VIX, DXY, Or (TvMiniChart 2x2) - TvChart: prop dateRange configurable sur TvMiniChart (dĂ©faut 1M) - ReportTab: TvAdvancedChart → TvMiniChart (plus de popup TV), Or remplace US10Y S&P 500/VIX dateRange=12M (daily), DXY/Or dateRange=60M (weekly) - rateprobability: cache TTL 4h → 48h (OIS revient mĂȘme sans GitHub Actions hourly) Co-Authored-By: Claude Sonnet 4.6 --- app/page.tsx | 22 ++++++++++++++++++++-- components/ReportTab.tsx | 10 +++++----- components/TvChart.tsx | 15 ++++++++------- lib/rateprobability.ts | 2 +- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index c847c18..e61a99c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -14,6 +14,7 @@ import YieldsTab from "@/components/YieldsTab"; import NewsTab from "@/components/NewsTab"; import CotTab from "@/components/CotTab"; import ReportTab from "@/components/ReportTab"; +import { TvMiniChart } from "@/components/TvChart"; import type { CalendarEvent } from "@/app/api/calendar/route"; import type { NewsItem } from "@/app/api/news/route"; import type { CotHistory } from "@/app/api/cot-history/route"; @@ -28,7 +29,7 @@ export default function Dashboard() { const [cot, setCot] = useState | null>(null); const [calEvents, setCalEvents] = useState([]); const [nextWeekAvail, setNextWeekAvail] = useState(false); - const [activeTab, setActiveTab] = useState<"dashboard" | "calendar" | "pairs" | "yields" | "news" | "cot" | "report">("dashboard"); + const [activeTab, setActiveTab] = useState<"dashboard" | "calendar" | "pairs" | "yields" | "news" | "cot" | "report" | "markets">("dashboard"); const [newsItems, setNewsItems] = useState([]); const [newsLoading, setNewsLoading] = useState(false); const [cotHistory, setCotHistory] = useState(null); @@ -350,7 +351,7 @@ export default function Dashboard() { {/* Tab navigation */}
- {(["dashboard", "calendar", "pairs", "yields", "news", "cot", "report"] as const).map((tab) => ( + {(["dashboard", "markets", "calendar", "pairs", "yields", "news", "cot", "report"] as const).map((tab) => (