Hallmark redesign + QuantReport fix
Header/Tabs: Hallmark Cobalt aesthetic - Hairlines, cool paper bg, JetBrains Mono + Inter - Electric cobalt accent on active tab - No branding, no purple badges, no gradients QuantReport: inline in strategy detail view - Renders below trade history on every tab - API maps strategy name -> file prefix - Proper backtestId from historical data Server: strategy-name-to-prefix lookup ofi, avellaneda, iceberg, momentum, mean_rev, funding_arb, kalman_pairs, pairs
This commit is contained in:
@@ -13,6 +13,7 @@ import { PositionsPanel } from "@/components/positions-panel";
|
||||
import { OBIDetail } from "@/components/obi-detail";
|
||||
import OrderBookDepthMap from "@/components/orderbook-depth-map";
|
||||
import L2Terminal from "@/components/L2Terminal";
|
||||
import QuantReport from "@/components/QuantReport";
|
||||
import { useLiveMetrics, usePaperMetrics, fetchHistorical, fetchBacktestDetail, recalcBacktest } from "@/lib/api";
|
||||
import type { Strategy, BacktestSummary, BacktestFull, Trade, Position, Order } from "@/lib/types";
|
||||
|
||||
@@ -102,7 +103,7 @@ export default function Dashboard() {
|
||||
|
||||
if (detailOpen) {
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="min-h-screen bg-[#f8f9fb]">
|
||||
<header className="sticky top-0 z-50 border-b border-border bg-background/80 backdrop-blur-xl">
|
||||
<div className="flex items-center justify-between px-6 py-3 max-w-[1440px] mx-auto">
|
||||
<div className="flex items-center gap-4">
|
||||
@@ -277,7 +278,16 @@ export default function Dashboard() {
|
||||
<p className="text-xs text-muted-foreground text-center py-12">No trades recorded yet</p>
|
||||
)}
|
||||
</div>
|
||||
{/* Live L2 Order Book + Trade Tape (all strategies, live tab only) */}
|
||||
|
||||
{/* QF-Lib Quant Report — Hallmark Cobalt inline */}
|
||||
<div className="mt-6 border-t border-[#e0e4ec] pt-4">
|
||||
<QuantReport
|
||||
strategyName={detailName}
|
||||
backtestId={historical[detailName]?.name || `${detailName.replace(/\s+/g, "_").toLowerCase()}.json`}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Live L2 Order Book + Trade Tape */}
|
||||
{detailTab === "live" && (
|
||||
<div className="mt-6">
|
||||
<OrderBookDepthMap coin="BTC" height={480} topRatio={0.55} />
|
||||
@@ -292,7 +302,7 @@ export default function Dashboard() {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="min-h-screen bg-[#f8f9fb]">
|
||||
{/* Header — Hallmark Cobalt */}
|
||||
<header className="sticky top-0 z-50 border-b border-[#e0e4ec] bg-[#f8f9fb]/95 backdrop-blur-sm">
|
||||
<div className="flex items-center justify-between px-6 h-12 max-w-[1440px] mx-auto">
|
||||
|
||||
Reference in New Issue
Block a user