shadok-ai 0.16.13 → 0.16.14

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/public/index.html +15 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shadok-ai",
3
- "version": "0.16.13",
3
+ "version": "0.16.14",
4
4
  "main": "dist/session.js",
5
5
  "scripts": {
6
6
  "test": "node --import tsx --test --test-timeout=120000 test/*.ts context/*/test/*.test.mjs",
package/public/index.html CHANGED
@@ -350,8 +350,13 @@
350
350
  display: block; margin-top: 3px; opacity: 0.8;
351
351
  white-space: normal; line-height: 1.45;
352
352
  }
353
+ /* Top banners sit ABOVE the header, not over it: they are flow items at the
354
+ very top of the fixed flex chassis (inserted as body's first child), so they
355
+ push the header and everything below down instead of overlapping it. A
356
+ `position:fixed; top:0` strip used to float over the header and hide the
357
+ brand/gauges underneath. */
353
358
  #updateBanner {
354
- position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
359
+ flex: 0 0 auto; width: 100%; z-index: 1000;
355
360
  background: var(--amber); color: var(--on-accent);
356
361
  font-family: var(--sans); font-size: 12px; text-align: center;
357
362
  padding: 6px 12px;
@@ -359,7 +364,7 @@
359
364
  /* The re-login reminder (sign-in within 48h / expired). Same top strip as the
360
365
  update banner; its own id so the two never share styling by accident. */
361
366
  #expiryBanner {
362
- position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
367
+ flex: 0 0 auto; width: 100%; z-index: 1000;
363
368
  background: var(--amber); color: var(--on-accent);
364
369
  font-family: var(--sans); font-size: 12px;
365
370
  padding: 6px 12px;
@@ -4562,8 +4567,10 @@
4562
4567
  swapped = true;
4563
4568
  restoring = true; // freezes pushChannels AND persistGroups (both bail on it)
4564
4569
  const bar = document.createElement("div");
4570
+ // A flow strip at the very top (first child) so it sits ABOVE the header
4571
+ // rather than floating over it — same placement as the update/expiry banners.
4565
4572
  bar.style.cssText =
4566
- "position:fixed;top:0;left:0;right:0;z-index:99999;background:#b23b3b;color:#fff;" +
4573
+ "flex:0 0 auto;width:100%;z-index:99999;background:#b23b3b;color:#fff;" +
4567
4574
  "padding:10px 14px;font:14px system-ui;text-align:center";
4568
4575
  bar.textContent = "This cockpit was replaced by another instance on this port — reload to reconnect. ";
4569
4576
  const btn = document.createElement("button");
@@ -4571,7 +4578,7 @@
4571
4578
  btn.style.cssText = "margin-left:8px;padding:3px 10px;cursor:pointer";
4572
4579
  btn.addEventListener("click", () => location.reload());
4573
4580
  bar.appendChild(btn);
4574
- document.body.appendChild(bar);
4581
+ document.body.insertBefore(bar, document.body.firstChild);
4575
4582
  }
4576
4583
  function pushChannels(list) {
4577
4584
  if (restoring || swapped) return; // never overwrite the server list with a partial one, nor a foreign instance's
@@ -7674,7 +7681,8 @@
7674
7681
  btn.textContent = "Re-login now";
7675
7682
  btn.addEventListener("click", () => openAuthCard(true));
7676
7683
  el.append(span, btn);
7677
- document.body.appendChild(el);
7684
+ // First child → above the header in the flex chassis, not floating over it.
7685
+ document.body.insertBefore(el, document.body.firstChild);
7678
7686
  }
7679
7687
  // Expired is an escalation, not just a reminder — turn the strip red.
7680
7688
  el.style.background = w.expired ? "var(--err)" : "";
@@ -7867,7 +7875,8 @@
7867
7875
  if (!el) {
7868
7876
  el = document.createElement("div");
7869
7877
  el.id = "updateBanner";
7870
- document.body.appendChild(el);
7878
+ // First child → above the header in the flex chassis, not floating over it.
7879
+ document.body.insertBefore(el, document.body.firstChild);
7871
7880
  }
7872
7881
  el.textContent = "Updating to v" + version + "… the page will reload automatically.";
7873
7882
  }