Files
rohitg00__agentmemory/website/components/MobileNavToggle.module.css
Rohit Ghumare 3338f9d039 feat(website): live GitHub stars, logo-based agent showcase, simpler MCP install
Nav
- Replace overlay hamburger with a solid horizontal bar.
- Use the real agentmemory icon from assets/icon.svg as the brand mark.
- Single GitHub pill: GH icon + GITHUB label + gold star + live count,
  the entire pill links to the repo. No more separate icon button.
- Server-rendered count pulled from api.github.com/repos/... with
  revalidate 3600. Falls back to 0 on rate limit.
- Mobile (<720px) collapses to a hamburger sheet with sections + links.

Command Center (new)
- Tabbed section showing the shipped viewer (:3113), the iii console
  (:3114), the raw KV state browser, and OTel traces.
- Real screenshots vendored into public/ (dashboard.png,
  states.png, traces-waterfall.png, demo.gif).
- Each tab ships with a description, 4-5 capability bullets, and a
  copy-ready launch command.

Features (new)
- 12-tile grid covering 12 auto-hooks, 44 MCP tools, 49 REST
  endpoints, BM25+vector+graph recall, auto consolidation, JSONL
  replay, knowledge graph extraction, mesh federation, Obsidian
  export, 5 LLM providers, OTel observability, 0 external DBs.

Agents
- Replaced the flat tile grid with an agents.md-style two-tier layout.
- Top row: 4 featured first-party integrations (Claude Code,
  OpenClaw, Hermes, Codex CLI) as big cards with real logos, brand
  accent colors, and integration pitch.
- Bottom row: CSS keyframe marquee of every other supported agent
  (Claude Desktop, Cursor, Gemini CLI, OpenCode, Cline, Roo,
  Kilo, Goose, Aider, Windsurf) with real logos + brand borders on
  hover. Pauses on hover. Edges fade into the page. Respects
  prefers-reduced-motion.

Install · step 3 · MCP wiring
- Dropped the 10-tab toggle and the Cursor-only gold hero button.
- Left column: equal-weight agent chips in a 2x3 grid — Cursor,
  VS Code, Claude Code, Claude Desktop, Gemini CLI, Codex CLI.
  Click copies the right snippet (JSON / CLI command / TOML) or
  fires the one-click deeplink where one exists.
- Right column: UNIVERSAL MCP JSON — paste-ready block that works
  for Claude Desktop, Cursor, Cline, Windsurf, Gemini CLI, OpenCode.
- Expando reveals Hermes, OpenClaw, and Codex TOML shapes.

Infrastructure
- lib/github.ts server-only fetch for repo stats.
- lib/format.ts (client-safe) formatCompact.
- next.config.ts: turbopack.root pinned to silence workspace warning,
  images.remotePatterns for github.com / GH avatars / Cursor /
  Windsurf logos.
- layout.tsx: icon metadata wired to /icon.svg.

Build: next build clean, 3 routes prerendered static, 0 vulns.
2026-04-18 19:50:59 +01:00

98 lines
1.6 KiB
CSS

.hamburger {
display: none;
width: 40px;
height: 40px;
border: 1px solid var(--charcoal);
align-items: center;
justify-content: center;
flex-direction: column;
gap: 4px;
}
.bar {
display: block;
width: 18px;
height: 2px;
background: var(--white);
transition:
transform 220ms ease,
opacity 220ms ease;
transform-origin: center;
}
.bar1 {
transform: translateY(6px) rotate(45deg) !important;
}
.bar2 {
opacity: 0;
}
.bar3 {
transform: translateY(-6px) rotate(-45deg) !important;
}
.sheet {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.94);
backdrop-filter: blur(8px);
z-index: 95;
opacity: 0;
pointer-events: none;
transition: opacity 200ms ease;
display: flex;
align-items: flex-start;
justify-content: center;
padding: 88px 20px 40px;
}
.sheetOpen {
opacity: 1;
pointer-events: auto;
}
.panel {
width: 100%;
max-width: 520px;
padding-top: 24px;
}
.list {
list-style: none;
padding: 0;
margin: 0;
}
.list li {
border-bottom: 1px solid var(--charcoal);
}
.list a {
display: block;
padding: 18px 0;
font-size: 26px;
font-weight: 900;
letter-spacing: -0.01em;
text-transform: uppercase;
transition: color 180ms ease, padding-left 180ms ease;
}
.list a:hover {
color: var(--gold);
padding-left: 8px;
}
.foot {
margin-top: 24px;
display: flex;
flex-wrap: wrap;
gap: 14px 20px;
padding-top: 20px;
border-top: 1px solid var(--charcoal);
}
.foot a {
font-size: 12px;
letter-spacing: 0.96px;
color: var(--steel);
text-transform: uppercase;
}
.foot a:hover {
color: var(--gold);
}
@media (max-width: 720px) {
.hamburger {
display: inline-flex;
}
}