+ {/* Header */}
+
+
+
Institutional Reports
+
+ CFTC COT (weekly) + EIA Petroleum (weekly) — positioning & supply signals
+
+
+
+
+
+
+
+
+ {/* Stats bar */}
+ {stats && (
+
+ {[
+ { label: 'Total reports', value: stats.total },
+ { label: 'COT reports', value: stats.by_type?.cot ?? 0 },
+ { label: 'EIA reports', value: stats.by_type?.eia ?? 0 },
+ { label: 'Absorbed (>30%)', value: stats.absorbed_count },
+ ].map(({ label, value }) => (
+
+ ))}
+
+ )}
+
+ {/* Latest dates */}
+ {stats && (stats.latest_cot || stats.latest_eia) && (
+
+ {stats.latest_cot && Latest COT: {stats.latest_cot}}
+ {stats.latest_eia && Latest EIA: {stats.latest_eia}}
+
+ )}
+
+ {/* Filters */}
+
+
+
Type:
+
+ {['', 'cot', 'eia'].map(t => (
+
+ ))}
+
+
+
+
+
Category:
+
+ {['', 'energy', 'metals', 'equities', 'forex', 'multi'].map(c => (
+
+ ))}
+
+
+
+
+
Min importance:
+
+ {[0, 1, 2, 3].map(n => (
+
+ ))}
+
+
+
+
+ Period:
+
+
+
+
+ {/* Report list */}
+ {isLoading || isFetching ? (
+
+
+ Loading reports…
+
+ ) : reports.length === 0 ? (
+
+
📋
+
No institutional reports yet
+
+ Click Refresh COT to fetch the latest CFTC positioning data,
+ or configure your EIA API key in Configuration to enable petroleum reports.
+
+
+ ) : (
+
+
{reports.length} report{reports.length > 1 ? 's' : ''}
+ {(reports as InstitutionalReport[]).map(r => (
+
+ ))}
+
+ )}
+
+ )
+}