{row.title}
{row.meta}
{row.note}
import Link from "next/link";
import type { ReactNode } from "react";
import {
Bebas_Neue,
DM_Serif_Display,
Manrope,
Newsreader,
Oswald,
Sora,
Special_Elite
} from "next/font/google";
const brutal = Bebas_Neue({
subsets: ["latin"],
weight: "400",
variable: "--font-concept-brutal"
});
const editorialDisplay = DM_Serif_Display({
subsets: ["latin"],
weight: "400",
variable: "--font-concept-editorial-display"
});
const conceptSans = Manrope({
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
variable: "--font-concept-sans"
});
const editorialBody = Newsreader({
subsets: ["latin"],
weight: ["400", "500", "600"],
variable: "--font-concept-editorial-body"
});
const condensed = Oswald({
subsets: ["latin"],
weight: ["400", "500", "600"],
variable: "--font-concept-condensed"
});
const future = Sora({
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
variable: "--font-concept-future"
});
const notebook = Special_Elite({
subsets: ["latin"],
weight: "400",
variable: "--font-concept-notebook"
});
const feedStates = [
{ label: "Opt", tone: "positive", value: "Live" },
{ label: "Eq", tone: "positive", value: "Live" },
{ label: "Flow", tone: "accent", value: "Dense" },
{ label: "Alert", tone: "negative", value: "9 high" }
];
const overviewMetrics = [
{ label: "Options", value: "284" },
{ label: "Equities", value: "142" },
{ label: "Flow", value: "36" },
{ label: "Alerts", value: "9" },
{ label: "Rules", value: "14" },
{ label: "Dark", value: "3" }
];
const alertRows = [
{
title: "Stealth Accumulation",
meta: "Bullish | Score 92 | NVDA",
note: "Repeated bid-side sweeps with dark follow-through.",
tone: "positive"
},
{
title: "Distribution Cluster",
meta: "Bearish | Score 81 | SPY",
note: "Offer-heavy packets rolling across three expiries.",
tone: "negative"
},
{
title: "Gamma Pressure",
meta: "Neutral | Score 74 | QQQ",
note: "Market makers pinned near intraday resistance.",
tone: "neutral"
}
] as const;
const flowRows = [
{
title: "SPY 2026-06-21 C605",
meta: "18 prints | $2.8M notional | Agg 78%",
note: "Window 640ms with ask-side urgency.",
tone: "accent"
},
{
title: "AAPL 2026-05-17 P185",
meta: "11 prints | $1.1M notional | Spread $0.07",
note: "Sweeps split across ARCA and CBOE.",
tone: "negative"
},
{
title: "TSLA 2026-07-19 C240",
meta: "8 prints | $980k notional | In 33%",
note: "Late acceleration after lit print burst.",
tone: "positive"
}
] as const;
const equityRows = [
{
title: "NVDA",
meta: "$972.44 | 28,400x | Off-Ex",
note: "Dark ratio lifting into midday highs.",
tone: "positive"
},
{
title: "SPY",
meta: "$604.12 | 91,300x | Lit",
note: "Index tape absorbing after alert burst.",
tone: "neutral"
},
{
title: "AAPL",
meta: "$214.77 | 18,100x | Off-Ex",
note: "Block prints clustering beneath ask.",
tone: "accent"
}
] as const;
const conceptSummary = [
{
id: "concept-1",
index: "01",
title: "Mission Control",
style: "Dark command center"
},
{
id: "concept-2",
index: "02",
title: "Market Journal",
style: "Editorial financial desk"
},
{
id: "concept-3",
index: "03",
title: "Aurora Glass",
style: "Futurist glass cockpit"
},
{
id: "concept-4",
index: "04",
title: "Tape Wall",
style: "Brutalist signal board"
},
{
id: "concept-5",
index: "05",
title: "Field Notebook",
style: "Analyst workbench"
}
] as const;
type ConceptSectionProps = {
id: string;
index: string;
title: string;
label: string;
summary: string;
designChoices: string[];
responsive: string[];
className: string;
children: ReactNode;
};
function ConceptSection({
id,
index,
title,
label,
summary,
designChoices,
responsive,
className,
children
}: ConceptSectionProps) {
return (
{summary}{title}
Key Design Choices
{designChoices.map((choice) => (
Responsive Considerations
{responsive.map((item) => (
{subtitle ?? "Core module"}
{row.meta}
{row.note}
The page reads like a market front page: chart first, context second, then secondary feeds as supporting columns.
The same terminal content feels more analytical and less mechanical, which suits review sessions and replay mode.
Frontend redesign study
Each concept keeps the same product story intact: filter controls, live or replay mode, chart context, alerts, flow packets, and equities tape. What changes is the visual system, layout logic, and the feeling of operating the page.
Every direction below preserves the same core modules and the same analyst workflow. These are presentation explorations, not product scope changes.