- Macro page fetches getPosts(200, 1, source) per active tab instead of
filtering the latest-500 global feed — rare bottom/funding signals no longer
vanish behind Trump posts (backend now supports ?source=).
- Analytics: compute ALL time windows from the one closed_at-filtered trades
list; dropped the 30d-only backend /performance special-case that mixed an
opened_at basis into the same screen as the closed_at metric grid. Trade
fetch raised 100→500 so the local computation covers ample history.
- Funding panel shows snap.venue (capitalized) instead of hardcoded "Binance".
- lib/api: getPosts gains optional source param; FundingSnapshot gains venue.
tsc + next build clean.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1. MacroVibesPageClient — funding stats rendered "undefined%" when
latest_rate_pct / last_24h_avg_pct were null. `?.toFixed()` returns
undefined inside a template literal → shows as the string "undefined%".
Fixed: explicit null check → '—' fallback.
2. SettingsClient — broken internal anchor: href="#btc-settings-panel"
but the section id is "btc-settings". "Open panel ↓" link did nothing.
Fixed: corrected href to "#btc-settings".
3. KolPageClient — undefined CSS variables throughout the file:
--bg-card (transparent) and --border (no border) were never defined
in the design system (globals.css uses --surface and --line).
KOL cards rendered with transparent bg and invisible borders.
Fixed: --bg-card → --surface, --border → --line, --accent → --amber.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Module rename across page H1, navbar tab, URL (/en/btc → /en/macro),
all metadata/JSON-LD, sitemap, llms.txt, opengraph image, and SystemControl
copy. Old /btc route fully removed.
New components/btc/MacroPanel.tsx polls /api/macro/snapshot and lays out
the 8 indicators in four sections (Valuation / Bottom trigger reference /
Market structure / Sentiment & flows / Positioning) with tone-coloured
values, current-band threshold chips, and a single CoinGlass / source
chart link per card. Composite -100..+100 needle pulses on score change.
Also fixes the pinned bottom-reversal alert on the homepage, which still
linked to the now-404 /en/btc — now routes to /en/macro.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>