import { For, createSignal, onCleanup, onMount, type JSX } from "solid-js"; import { IslandPill, STATUS, CALM, CRITICAL, ModuleCard } from "./IslandMock"; import { ApprovalCardMock, SessionRowMock, DieLine, CLAUDE, CODEX } from "./ModuleMocks"; /** * Feature collage: five cells sold as the app's actual UI. The hero cell * shows the real collapsed pill (campfire slot, camera housing, live data) * dressed in the island's black surface; supporting cells reuse the same * module chrome, status palette, and metric language. */ export function CollageCell(props: { class?: string; kicker: string; title: string; body: string; children?: JSX.Element; }) { return (

{props.kicker}

{props.title}

{props.body}

{props.children}
); } /** * Stage for app-UI mocks: the island's black ink ground. The real island * is always dark (preferredColorScheme .dark), so the mocks read correctly * in both site themes. */ export function InkStage(props: { children: JSX.Element; class?: string }) { return (
{props.children}
); } /** Fans panel mock: RPM gauge rows in the app's card chrome. */ function FansPanelMock() { const fans = [ { rpm: 1270, frac: 0.26 }, { rpm: 1219, frac: 0.25 } ]; return (
{(f) => (
{f.rpm} RPM
)}
Auto MAX
); } function RemoteMock() { return (
); } /* Deterministic usage wander for the traces. */ const wander = (n: number, k: number) => 0.42 + 0.22 * Math.sin(n * 0.45 + k * 1.7) + 0.12 * Math.sin(n * 1.3 + k); /** * The Temperatures module: one line per die — label, its 60 s usage trace, * its temperature. The GPU climbs past the 70 ° warn line and tints amber. */ function GaugesMock() { const [n, setN] = createSignal(0); onMount(() => { const interval = setInterval(() => setN((v) => v + 1), 700); onCleanup(() => clearInterval(interval)); }); const trace = (k: number) => Array.from({ length: 30 }, (_, i) => Math.max(0.04, Math.min(0.97, wander(n() + i, k)))); const gpuCelsius = () => 62 + 12 * (0.5 + 0.5 * Math.sin(n() * 0.18)); return (
); } export default function FeatureCollage() { return (

Why the Nook

Keep track of your agents while you work

{/* Hero: real collapsed pill on the island surface */}

The island

Agent status at the top of your screen

The island sits around your Mac's notch, with agent activity on the left and your choice of information on the right. Blue means running, green means ready, and amber means an agent needs you.

} />

Open the island to see your sessions

{/* Approvals */}
{/* Fans */}
{/* Gauges */}

Also includes a volume mixer, screen capture, timers, weather, and more.{" "} Browse the other modules

); }