@cordfuse/crosstalk 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/web/layout.ts +10 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cordfuse/crosstalk",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "Crosstalk — agent-agnostic swarm communication protocol over a shared directory (git or filesystem transport). Operator CLI + daemon in one binary.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/web/layout.ts CHANGED
@@ -74,18 +74,15 @@ function commonStyles(): string {
74
74
  body{padding:18px 16px 80px;max-width:980px;margin:0 auto;box-sizing:border-box}
75
75
  a{color:#7cc4ff;text-decoration:none}
76
76
  a:hover{text-decoration:underline}
77
- header{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:18px}
78
- header .header-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
79
- h1{font-size:18px;margin:0}
77
+ header{display:flex;align-items:center;gap:10px;margin-bottom:18px;background:#1c2128;border:1px solid #262c34;border-radius:8px;padding:10px 14px}
78
+ h1{font-size:16px;margin:0;min-width:0;flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
80
79
  h1 .brand{color:#7cc4ff;letter-spacing:.08em;font-weight:600}
81
- h1 .host{color:#a371f7;font-weight:500;margin-left:8px}
82
80
  h1 .page-title{color:#a371f7;font-weight:500;margin-left:8px}
83
- #meta{color:#7a7f87;font-size:11px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
84
- #meta .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7ee787}
85
- #meta .dot.stale{background:#d29922}
86
- #meta .dot.dead{background:#f85149}
87
- #nav-toggle{background:#1c2128;color:#e6e8eb;border:1px solid #262c34;border-radius:6px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:18px;line-height:1;margin-right:10px;flex:0 0 auto;transition:background 150ms ease,border-color 150ms ease}
88
- #nav-toggle:hover{background:#252b34;border-color:#3a414b}
81
+ .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7ee787;flex:0 0 auto}
82
+ .dot.stale{background:#d29922}
83
+ .dot.dead{background:#f85149}
84
+ #nav-toggle{background:#1c2128;color:#e6e8eb;border:none;border-radius:6px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:18px;line-height:1;margin-right:10px;flex:0 0 auto;transition:background 150ms ease}
85
+ #nav-toggle:hover{background:#252b34}
89
86
  #nav-toggle:active{transform:scale(.94)}
90
87
  #nav-drawer{position:fixed;top:0;left:-300px;width:280px;height:100dvh;background:#0e1116;border-right:1px solid #1f2329;transition:left 220ms ease;z-index:55;padding:18px 0;box-sizing:border-box;display:flex;flex-direction:column}
91
88
  #nav-drawer.open{left:0}
@@ -226,15 +223,9 @@ export function page(opts: PageOpts): string {
226
223
  </head><body>
227
224
  ${navDrawer({ host: opts.host, alias: opts.alias, ...(opts.activeNav ? { activeId: opts.activeNav } : {}) })}
228
225
  <header>
229
- <div class="header-controls">
230
- <h1><button id="nav-toggle" aria-label="open navigation" type="button">≡</button><span class="brand">CROSSTALK</span> <span class="host">${escapeHtml(opts.host)}</span>${titleSuffix}</h1>
231
- <div id="meta">
232
- <span class="dot" id="liveness-dot"></span>
233
- <span id="liveness-label">live · 5s</span>
234
- <span>·</span>
235
- <span>alias ${escapeHtml(opts.alias)}</span>
236
- </div>
237
- </div>
226
+ <button id="nav-toggle" aria-label="open navigation" type="button">≡</button>
227
+ <h1><span class="brand">CROSSTALK</span>${titleSuffix}</h1>
228
+ <span class="dot" id="liveness-dot" title="${escapeHtml(opts.host)} · alias ${escapeHtml(opts.alias)}"></span>
238
229
  </header>
239
230
  <main>
240
231
  ${opts.body}