ranger c5a4b28b29 feat(0.3.0): dark theme, mute, media keys, current-track + 2nd-look fixes
Closes the gaps from a UI review of v0.2.0.

Added
- Mute toggle: speaker icon is now a button; remembers prior volume.
- MediaSession API: OS media keys / headphone buttons / lock-screen
  widget play/pause the radio. Metadata exposes station + SomaFM + genre.
- Current-track display: polls https://somafm.com/songs/{code}.json every
  30s while playing; shown as `♪ Title — Artist` under the description.
  Best-effort — silently hidden if CORS-blocked / unreachable.

Fixed (2nd-look)
- Dark theme now actually renders. v0.2.0 saved the dropdown but had no
  CSS — add `admin_body_class` filter + `radio-theme-{auto,light,dark}`
  CSS for the player + about-cards. `auto` follows OS prefers-color-scheme.
- Settings-page volume slider: removed inline `oninput`; wired in radio.js
  via `bindSettingsSlider()`. Cleaner under strict CSP.
- Save errors surface as a transient notice instead of being swallowed.
- Gitea changelog URL moved into `RADIO_GITEA_URL` constant.
- Genre badge restyled as an inline pill (was using `margin-left: auto`
  which wrapped poorly on narrow widget widths).

Files
- radio.php (version, constant, strings, body-class filter)
- inc/about.php (use constant, add 0.3.0 history entry)
- inc/settings.php (drop inline oninput)
- inc/admin-page.php + inc/dashboard-widget.php (mute button, track slot)
- assets/css/radio.css (pill, mute, track, dark-theme rules)
- assets/js/radio.js (rewrite: mute, MediaSession, track polling,
  settings slider, save-error surfacing)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 22:56:57 +01:00

Radio — SomaFM player for your WordPress dashboard

A small, focused, free WordPress plugin that drops a SomaFM radio player into your admin dashboard. 44 hand-curated stations across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, and specials.

What it does

  • Mini-player on WP Admin → Dashboard (opt-out via Settings)
  • Dedicated page at WP Admin → Radio → My Radio
  • Plays via HTML5 <audio> — no proxy server, no third-party tracking
  • Per-user state: each admin remembers their own station + volume
  • Self-hosted update checker against the Gitea repo

Installation

  1. Download the latest release .zip from git.davidtkeane.com/ranger/a-radio/releases
  2. WP Admin → Plugins → Add New → Upload Plugin
  3. Activate
  4. Look at WP Admin → Dashboard for the mini-player, or WP Admin → Radio

Requirements

  • WordPress 5.0+
  • PHP 7.4+
  • A modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)

Credits

All stations and streams are provided by SomaFM, an independent, listener-supported, commercial-free internet radio network broadcasting from San Francisco since 2000. If you enjoy this plugin, please consider donating to SomaFM directly.

License

GPL v2 or later. See LICENSE (the same GPL v2+ terms as WordPress itself).

Author

David Keane — part of the RangerHQ plugin family. rangersmyth.xyz

S
Description
No description provided
Readme GPL-2.0 1.2 MiB
Languages
PHP 59.3%
JavaScript 21.6%
CSS 19.1%