"use client";
import { useMemo, useState } from "react";
import styles from "./frontend-cooker.module.css";
const variations = [
{ id: "pit", name: "Open-Outcry Pit", rationale: "A loud exchange-floor command center optimized for immediate threat recognition and dense scan paths." },
{ id: "atlas", name: "Glass Atlas", rationale: "A calm geospatial intelligence room that makes flow feel mapped, layered, and explorable." },
{ id: "ledger", name: "Ivory Ledger", rationale: "A refined analyst notebook with editorial hierarchy for slower, higher-confidence review." },
{ id: "neon", name: "Neon Underpass", rationale: "A kinetic cyberpunk tape for traders who want momentum, heat, and speed above all." },
{ id: "paper", name: "Signal Gazette", rationale: "A newspaper-like briefing that turns raw options activity into a morning intelligence digest." }
];
const flowRows = [
["NVDA", "910C", "05-17", "$4.8M", "AA", "+92%", "Sweep"],
["TSLA", "175P", "05-10", "$2.1M", "BB", "−68%", "ISO"],
["AAPL", "205C", "06-21", "$1.4M", "A", "+41%", "Block"],
["SPY", "520P", "05-03", "$8.7M", "B", "−53%", "Split"],
["AMD", "162C", "05-24", "$910K", "AA", "+77%", "Sweep"]
];
function MiniChart({ variant }: { variant: string }) {
return
{Array.from({ length: 22 }).map((_, i) => )}
;
}
function AppMock({ id }: { id: string }) {
return
Live Options Intelligence
Unusual flow surfaced before the crowd.
Representative redesign of the IslandFlow terminal: live status, option sweeps, inferred dark activity, classifier hits, and replay controls.
Connected · 1,284 msgs/min
$42.6M premium tracked in active window
{["Alert score 87", "Bullish 62%", "Dark pool 14", "Stale feeds 0"].map(x => {x})}
Classifier Hits
High conviction: NVDA call sweep above ask with confirming equity print.
Empty state: no stale NBBO quotes in the last 15s.
Loading replay baseline…
Error state: dark inference source delayed.
{["Ticker", "Contract", "Expiry", "Notional", "Side", "Delta", "Condition"].map(h => | {h} | )}
{flowRows.map((r) => {r.map((c, i) => | {c} | )}
)}
;
}
export default function FrontendCooker() {
const [active, setActive] = useState(0);
const current = variations[active];
const nav = useMemo(() => variations.slice(0, 5), []);
return
;
}