video: Play button reads 'Play on <logo>' (drop redundant text, better contrast)

The button showed the Plex logo AND the word 'Plex' ('[logo] Play on Plex'), all
white on a bright green bg — cluttered + hard to read. Now it's '▶ Play on
<server logo>' (the logo is the brand name) on a deeper green gradient so the
light Plex/Jellyfin wordmark reads clearly.
This commit is contained in:
BoulderBadgeDad 2026-06-15 10:54:49 -07:00
parent b937343768
commit e0b9245ba3
2 changed files with 15 additions and 9 deletions

View file

@ -310,13 +310,17 @@
if (!a) return;
var watching = !!d.monitored;
var html = '';
// Primary CTA: play it on your media server (owned items; arrives with extras).
// Primary CTA: play it on your media server (owned items; arrives with
// extras). The logo IS the brand name — "Play on <logo>" (no redundant word).
if (d.server && d.server.url) {
var sv = esc(d.server.server || 'Server');
var slogo = SERVER_LOGOS[d.server.server];
html += '<a class="vd-play-btn" href="' + esc(d.server.url) + '" target="_blank" rel="noopener">' +
(slogo ? '<img class="vd-play-logo" src="' + esc(slogo) + '" alt="">' : '<span class="vd-play-ic">▶</span>') +
'<span>Play on ' + sv + '</span></a>';
var inner = slogo
? '<span class="vd-play-ic">▶</span><span>Play on</span>' +
'<img class="vd-play-logo" src="' + esc(slogo) + '" alt="' + sv + '">'
: '<span class="vd-play-ic">▶</span><span>Play on ' + sv + '</span>';
html += '<a class="vd-play-btn" href="' + esc(d.server.url) +
'" target="_blank" rel="noopener" title="Play on ' + sv + '">' + inner + '</a>';
}
if (d.trailer && d.trailer.key) {
html += '<button class="vd-trailer-btn" type="button" data-vd-act="trailer">' +

View file

@ -1177,15 +1177,17 @@ a.vd-prov:hover img, a.vd-prov:hover .vd-prov-ph { border-color: rgba(var(--vd-a
/* Matches .vd-trailer-btn exactly (consistent with the other hero buttons)
just green to read as "owned / play". */
.vd-play-btn {
display: inline-flex; align-items: center; gap: 8px; padding: 7px 18px; border-radius: 8px;
display: inline-flex; align-items: center; gap: 7px; padding: 7px 18px; border-radius: 8px;
font-size: 12.5px; font-weight: 800; letter-spacing: 0.02em; cursor: pointer; text-decoration: none;
color: #fff; background: #22c55e; border: 1px solid transparent;
color: #fff; border: 1px solid transparent;
/* deeper green so the light Plex/Jellyfin wordmark reads clearly on it */
background: linear-gradient(135deg, #1fae54, #15803d);
box-shadow: 0 6px 18px rgba(34, 197, 94, 0.4); transition: all 0.2s ease;
}
.vd-play-btn:hover { transform: translateY(-1px); filter: brightness(1.08);
.vd-play-btn:hover { transform: translateY(-1px); filter: brightness(1.1);
box-shadow: 0 8px 22px rgba(34, 197, 94, 0.55); }
.vd-play-logo { height: 14px; width: auto; }
.vd-play-ic { font-size: 13px; }
.vd-play-logo { height: 15px; width: auto; position: relative; top: 0.5px; }
.vd-play-ic { font-size: 12px; }
.vd-crew-line { font-size: 14px; color: rgba(255, 255, 255, 0.84); margin: 2px 0 14px;
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6); }