User menu: keep only Profile + Credits (drop Infrastructure/Brains/Tools)
ci / gates (push) Failing after 27s
ci / rust (push) Has been skipped
ci / frontend (push) Has been skipped
ci / e2e (push) Has been skipped

Infrastructure is the breadcrumb tier and the brain registry opens from the agents
sidebar, so the top-right menu becomes account-only. Relabel the section ACCOUNT.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
Omar Sobh
2026-06-26 22:30:57 -07:00
co-authored by Claude Opus 4.8
parent ce7a5d9aed
commit d766742871
@@ -1,20 +1,17 @@
"use client"; "use client";
// Top-right user menu. The same six tools that used to live in the left rail's // Top-right user menu: account pages (Profile, Credits) opened as in-dashboard
// launcher now hang off the user icon — click it to open them as in-dashboard // panels (ToolPanel) via onOpen. (Infrastructure is the breadcrumb tier; the
// panels (ToolPanel) via onOpen. // brain registry opens from the agents sidebar.)
import { useState } from "react"; import { useState } from "react";
import { Brain, CreditCard, Server, User, Wrench } from "lucide-react"; import { CreditCard, User } from "lucide-react";
import type { ToolKey } from "./ToolPanel"; import type { ToolKey } from "./ToolPanel";
const mono = "'JetBrains Mono', ui-monospace, monospace"; const mono = "'JetBrains Mono', ui-monospace, monospace";
const ITEMS: { key: ToolKey; label: string; icon: typeof User }[] = [ const ITEMS: { key: ToolKey; label: string; icon: typeof User }[] = [
{ key: "infrastructure", label: "Infrastructure", icon: Server },
{ key: "brains", label: "Brains", icon: Brain },
{ key: "tools", label: "Tools", icon: Wrench },
{ key: "profile", label: "Profile", icon: User }, { key: "profile", label: "Profile", icon: User },
{ key: "credits", label: "Credits", icon: CreditCard }, { key: "credits", label: "Credits", icon: CreditCard },
]; ];
@@ -34,7 +31,7 @@ export function UserMenu({ onOpen }: { onOpen: (t: ToolKey) => void }) {
<> <>
<button type="button" aria-label="Close" onClick={() => setOpen(false)} style={{ position: "fixed", inset: 0, zIndex: 200, background: "transparent", border: 0 }} /> <button type="button" aria-label="Close" onClick={() => setOpen(false)} style={{ position: "fixed", inset: 0, zIndex: 200, background: "transparent", border: 0 }} />
<nav style={{ position: "absolute", top: "100%", right: 0, marginTop: 8, zIndex: 210, width: 196, display: "flex", flexDirection: "column", gap: 2, borderRadius: 14, background: "#141417", border: "1px solid rgba(255,255,255,.1)", padding: 8, boxShadow: "0 18px 50px rgba(0,0,0,.55)" }}> <nav style={{ position: "absolute", top: "100%", right: 0, marginTop: 8, zIndex: 210, width: 196, display: "flex", flexDirection: "column", gap: 2, borderRadius: 14, background: "#141417", border: "1px solid rgba(255,255,255,.1)", padding: 8, boxShadow: "0 18px 50px rgba(0,0,0,.55)" }}>
<div style={{ fontFamily: mono, fontSize: 9, letterSpacing: ".12em", color: "#5a5a62", padding: "4px 10px 6px" }}>TOOLS</div> <div style={{ fontFamily: mono, fontSize: 9, letterSpacing: ".12em", color: "#5a5a62", padding: "4px 10px 6px" }}>ACCOUNT</div>
{ITEMS.map((it) => ( {ITEMS.map((it) => (
<button <button
key={it.key} type="button" key={it.key} type="button"