import Link from "next/link"; import type { CSSProperties, ReactNode } from "react"; type MockVariant = "mock1" | "mock2" | "mock3" | "mock4"; type DashboardMockProps = { variant: MockVariant; }; const variants: Record< MockVariant, { title: string; premise: string; mode: string; layout: string; } > = { mock1: { title: "Command Deck", premise: "Closest to the reference: left navigation, ticker ribbon, dense evidence panes, replay rail.", mode: "Dense ops", layout: "classic" }, mock2: { title: "Investigation Stack", premise: "A calmer analyst layout with the selected symbol story in the center and context wrapped around it.", mode: "Forensic", layout: "focus" }, mock3: { title: "Signal Wall", premise: "Prioritizes alert triage and cross-symbol scanning before a user drills into price action.", mode: "Triage", layout: "signals" }, mock4: { title: "Replay Lab", premise: "A replay-first structure with timeline, event tape, and causality context always visible.", mode: "Replay", layout: "replay" } }; const tickers = [ ["SPY", "529.18", "+0.23%", "up"], ["QQQ", "452.47", "+0.31%", "up"], ["AAPL", "194.88", "+1.22%", "up"], ["NVDA", "120.19", "-0.41%", "down"], ["TSLA", "180.72", "+0.72%", "up"], ["AMZN", "186.31", "+0.35%", "up"], ["IWM", "205.41", "+0.21%", "up"] ]; const optionRows = [ ["2m", "AAPL", "May 17", "195 C", "5,240", "$2.31M", "Sweep", "Bullish"], ["3m", "AAPL", "Jun 21", "200 C", "6,800", "$1.87M", "Block", "Bullish"], ["4m", "NVDA", "May 24", "120 C", "9,150", "$2.01M", "Split", "Bullish"], ["5m", "TSLA", "Jul 19", "205 C", "10,000", "$3.45M", "Block", "Bullish"], ["6m", "AMZN", "May 17", "185 P", "4,500", "$1.20M", "Sweep", "Bearish"], ["7m", "IWM", "Jun 21", "207 C", "3,100", "$712K", "Sweep", "Bullish"], ["8m", "AAPL", "May 24", "197.5 C", "7,600", "$2.01M", "Block", "Bullish"] ]; const signals = [ ["09:41:10", "Dark Flow Sweep", "AAPL", "$4.32M", "Bullish"], ["09:40:58", "Unusual Options Activity", "NVDA", "$2.01M", "Bullish"], ["09:40:21", "News Catalyst", "AAPL", "AI update", "News"], ["09:39:47", "Classifier Hit: Momentum", "TSLA", "91%", "Bullish"], ["09:39:12", "Large Block Trade", "AMZN", "$3.67M", "Bearish"] ]; const feedHealth = [ ["OPRA Options", "Healthy", "120ms", "2,341"], ["CBOE Quotes", "Healthy", "85ms", "1,987"], ["Nasdaq TotalView", "Healthy", "92ms", "3,102"], ["NYSE Pillar", "Degraded", "412ms", "932"], ["News", "Healthy", "1.2s", "12"], ["Dark Pool", "Healthy", "1.0s", "421"] ]; const darkFlow = [ ["09:41:05", "AAPL", "Buy", "25,000", "$4.87M", "Sweep"], ["09:40:51", "AAPL", "Buy", "18,500", "$3.60M", "Sweep"], ["09:40:35", "AAPL", "Sell", "30,000", "$5.84M", "Block"], ["09:39:59", "AAPL", "Buy", "12,000", "$2.34M", "Sweep"], ["09:38:47", "AAPL", "Sell", "21,000", "$4.09M", "Block"] ]; const variantOrder: MockVariant[] = ["mock1", "mock2", "mock3", "mock4"]; export function DashboardMock({ variant }: DashboardMockProps) { const config = variants[variant]; return (
{variant === "mock1" ? : null} {variant === "mock2" ? : null} {variant === "mock3" ? : null} {variant === "mock4" ? : null}
); } function MockHeader({ config, active }: { config: (typeof variants)[MockVariant]; active: MockVariant; }) { return (

{config.premise}

Live NATS 3ms / US-EAST-1 09:41:23 ET {config.mode}
); } function TickerRail() { return (
{[...tickers, ...tickers].map(([symbol, price, move, direction], index) => (
{symbol} {price}
{move}
))}
); } function ClassicLayout() { return (
); } function FocusLayout() { return (
); } function SignalLayout() { return (
); } function ReplayLayout() { return (
); } function Panel({ title, meta, className = "", children }: { title: string; meta?: string; className?: string; children: ReactNode; }) { return (

{title}

{meta ? {meta} : null}
{children}
); } function OptionTape({ condensed = false }: { condensed?: boolean }) { const rows = condensed ? optionRows.slice(0, 5) : optionRows; return (
Time Symbol Exp Strike Size Prem Type Score
{rows.map((row) => (
{row.map((cell, index) => ( {cell} ))}
))}
); } function ChartPanel({ compact = false }: { compact?: boolean }) { return (
194.88 +2.34 (+1.22%)
); } function SignalPanel({ hero = false }: { hero?: boolean }) { return (
{signals.map(([time, title, symbol, value, tag]) => (
{title} {symbol} / {value}
{tag}
))}
); } function FeedHealth() { return (
{feedHealth.map(([feed, status, lag, rate]) => (
{feed} {status} {lag} {rate}/s
))}
); } function DarkFlow() { return (
{darkFlow.map(([time, symbol, side, size, notional, type]) => (
{time} {symbol} {side} {size} {notional} {type}
))}
); } function EventContext() { return (
    {signals.slice(0, 4).map(([time, title, symbol]) => (
  1. {title} {symbol} evidence linked
  2. ))}

Why it fired

Type
Dark Flow Sweep
Premium
$4.32M
Venue
Off-exchange
Tags
Bullish / Sweep / Call
); } function ReplayRail({ compact = false }: { compact?: boolean }) { return (
32x
09:00 09:41:23 / Live 10:15
); } function SymbolBrief() { return (
194.88 +1.22%

Dark sweep pressure aligns with short-window momentum and a fresh news catalyst. Context confidence is high, but the largest block remains off-exchange and should be checked against next print behavior.

Bullish Sweep News linked
); } function Sparkline({ direction }: { direction: string }) { return ( ); }