Add a mesh scope to the Streams card

Local stays the default and the cheap path; mesh asks each partner for its own
sessions over SSH, live rather than cached, because a stream is true for
minutes and a cached one would be confidently wrong about the only thing the
card exists to say.
This commit is contained in:
Gmer4Lfe
2026-08-21 08:38:37 -04:00
parent 331b7b6b13
commit 81abc5adee
4 changed files with 202 additions and 8 deletions
+13
View File
@@ -1167,6 +1167,19 @@ mark { background: #5d4037; color: #ffcc80; border-radius: 2px; }
.vv-chip-group-device, .vv-chip-group-res, .vv-chip-group-codec { display: contents; }
.vv-stream-empty { color: #555; font-style: italic; font-size: 12px; margin: 4px 0; }
.vv-stream-empty span { font-size: 11px; color: #444; }
/* Streams scope control. Deliberately named vv-strm-* rather than reusing a bare utility name:
Unraid Connect injects a global Tailwind layer into every page, and a class named after a
utility gets whatever that layer says. */
.vv-strm-tab { background: #111; border: 1px solid #242424; color: #555; font-size: 10px;
padding: 2px 10px; border-radius: 3px; cursor: pointer; text-transform: uppercase;
letter-spacing: .05em; }
.vv-strm-tab:hover { color: #bbb; border-color: #3a3a3a; }
.vv-strm-tab.on { color: #4caf50; border-color: #2d4a2d; background: #0d1a0d; }
/* The node a stream is playing on. Only rendered in mesh scope — in local scope every row is
this host and the label would be noise on every line. */
.vv-strm-node { font-size: 9px; color: #4a7a9f; border: 1px solid #24384a; background: #0d151c;
border-radius: 2px; padding: 0 4px; margin-left: 5px; white-space: nowrap; }
.vv-stream-row { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #282828; }
.vv-stream-row:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.vv-stream-top { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }