fix(0.3.2): play-button glyph baseline — drop dashicon for Unicode ▶ / ‖
The dashicon used for the play/pause icon was rendering visibly below the button text — dashicon font metrics sit the glyph low inside its own box, so even with `inline-flex` centering the symbol looked like it was on a separate row from the word "Play". Swap dashicons-controls-play / dashicons-controls-pause for plain Unicode glyphs (▶ / ‖) which render on the text baseline like any other character. Flex container changed to align-items: baseline. font-variant-emoji: text on the glyph span to keep platforms that might otherwise pick up an emoji variant of ▶ as monochrome text. Files: radio.php (version), inc/admin-page.php + inc/dashboard-widget.php (dashicon span → glyph span), assets/css/radio.css (drop dashicon-sizing rule, add .radio-player__play-glyph, baseline alignment), assets/js/radio.js (setPlayIcon swaps glyph textContent instead of dashicon className), inc/about.php (history entry). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+12
-6
@@ -80,17 +80,23 @@
|
||||
}
|
||||
|
||||
.radio-player__play {
|
||||
/* native .button .button-primary styling; just ensure icon aligns */
|
||||
/* native .button .button-primary styling; just ensure glyph aligns */
|
||||
display: inline-flex !important;
|
||||
align-items: center;
|
||||
align-items: baseline;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.radio-player__play .dashicons {
|
||||
font-size: 14px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
/* Unicode play/pause glyph (not a dashicon — those sit low inside their
|
||||
own font box and look like they're below the text baseline). A plain
|
||||
▶ / ‖ glyph renders on the text baseline like any other character. */
|
||||
.radio-player__play-glyph {
|
||||
display: inline-block;
|
||||
font-size: 11px;
|
||||
line-height: 1;
|
||||
/* Coerce to text rendering rather than colour-emoji on systems that
|
||||
might otherwise pick up an emoji variant for ▶ / ‖. */
|
||||
font-variant-emoji: text;
|
||||
font-family: "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
|
||||
.radio-player__volume {
|
||||
|
||||
+5
-3
@@ -68,11 +68,13 @@
|
||||
});
|
||||
}
|
||||
|
||||
/** Update play/pause button icon + label to reflect current audio state. */
|
||||
/** Update play/pause button glyph + label to reflect current audio state.
|
||||
* v0.3.2: switched from .dashicons to a Unicode glyph so the symbol sits
|
||||
* on the text baseline instead of below it. */
|
||||
function setPlayIcon(btn, playing) {
|
||||
var icon = btn.querySelector('.dashicons');
|
||||
var glyph = btn.querySelector('[data-radio-play-glyph]');
|
||||
var label = btn.querySelector('[data-radio-play-label]');
|
||||
if (icon) { icon.className = 'dashicons ' + (playing ? 'dashicons-controls-pause' : 'dashicons-controls-play'); }
|
||||
if (glyph) { glyph.textContent = playing ? '‖' : '▶'; } // ‖ or ▶
|
||||
if (label) { label.textContent = playing ? (cfg.strings.pause || 'Pause') : (cfg.strings.play || 'Play'); }
|
||||
btn.setAttribute('title', playing ? (cfg.strings.pause || 'Pause') : (cfg.strings.play || 'Play'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user