@decentnetwork/lan 0.1.254 → 0.1.255

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.
@@ -1,4 +1,4 @@
1
- window.__DK_UI_VERSION="0.1.254";
1
+ window.__DK_UI_VERSION="0.1.255";
2
2
  const ICON_PATHS = {
3
3
  // ---- tab bar (the four must feel like one set) ----
4
4
  users: '<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>',
@@ -2688,6 +2688,7 @@ function CallOverlay({ T, ctl, peers }) {
2688
2688
  { key: "local", stream: ctl.localStream, label: ctl.sharing ? T && T.yourScreen || "Your screen" : T && T.you || "You", mirror: !ctl.sharing }
2689
2689
  ].filter((t) => streamHasVideo(t.stream));
2690
2690
  const feat = tiles.find((t) => t.key === featured) || tiles[0] || { key: "remote", stream: ctl.remoteStream, label: name };
2691
+ const others = tiles.filter((t) => t.key !== feat.key);
2691
2692
  return (
2692
2693
  // The thumbnail strip and the controls FLOAT over the video instead of
2693
2694
  // stacking under it. A phone camera is 9:16, so the featured tile is
@@ -2708,11 +2709,12 @@ function CallOverlay({ T, ctl, peers }) {
2708
2709
  gap: 12,
2709
2710
  background: "linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0))",
2710
2711
  pointerEvents: "none"
2711
- } }, tiles.length > 0 && /* @__PURE__ */ React.createElement("div", { style: { display: "flex", gap: 12, justifyContent: "center", flexWrap: "wrap", pointerEvents: "auto" } }, tiles.map((t) => /* @__PURE__ */ React.createElement(
2712
+ } }, others.length > 0 && /* @__PURE__ */ React.createElement("div", { style: { display: "flex", gap: 12, justifyContent: "center", flexWrap: "wrap", pointerEvents: "auto" } }, others.map((t) => /* @__PURE__ */ React.createElement(
2712
2713
  "button",
2713
2714
  {
2714
2715
  key: t.key,
2715
2716
  onClick: () => setFeatured(t.key),
2717
+ title: `Show ${t.label}`,
2716
2718
  style: {
2717
2719
  position: "relative",
2718
2720
  width: 150,
@@ -2722,7 +2724,7 @@ function CallOverlay({ T, ctl, peers }) {
2722
2724
  background: "#000",
2723
2725
  cursor: "pointer",
2724
2726
  padding: 0,
2725
- border: feat.key === t.key ? "2px solid var(--accent)" : "1px solid var(--line)"
2727
+ border: "1px solid var(--line)"
2726
2728
  }
2727
2729
  },
2728
2730
  /* @__PURE__ */ React.createElement(VideoSurface, { stream: t.stream, muted: true, style: { width: "100%", height: "100%", objectFit: "contain", transform: t.mirror ? "scaleX(-1)" : "none" } }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decentnetwork/lan",
3
- "version": "0.1.254",
3
+ "version": "0.1.255",
4
4
  "description": "Private virtual LAN for self-hosted services and AI agents, built on Elastos Carrier. NAT-traversal, name service, ACL, all over a peer-to-peer mesh — no public IP required.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",