Skip to content

Commit 1944cf4

Browse files
fhirschmannclaude
andcommitted
feat: split the General settings tab into LEDs + Power sub-tabs
5 from the roadmap. The 'General' sub-tab was a long kitchen-sink scroll. Moved the NeoPixel brightness + LED config into a new 'LEDs' sub-tab and Deep sleep + Battery into a new 'Power' sub-tab (block relocation, ids preserved so save/fill are unaffected; the auto-save delegated handler now also covers #settings-leds/#settings-power). General keeps volume/branding/options/playlist/rotary. i18n de/en/fr (nav.leds/nav.power). Verified on the test device: LEDs+Power sub-tabs render; LED/battery/sleep fields moved out of General into them; auto-save works in the new tabs (toggled led_offsetPause -> persisted); no console errors; div balance intact. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ac39736 commit 1944cf4

5 files changed

Lines changed: 240 additions & 223 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ neon logo that doubles as the SVG favicon ([`7be5254`](../../commit/7be5254)):
145145
| **Configurable branding + RFID settings tidy-up**: the navbar **header** title and the **footer** brand are now configurable (General → Branding) with a **live preview** as you type — empty keeps the "Leo Industries" default, so the fork is easy to re-brand. The Sync settings tab is split into two clear sections (**File sync** and **RFID-tag sync**). The RFID **reader** settings (reader type, MFRC522 gain, PN5180 LPCD, SLIX2 password) moved out of the General tab into the **RFID** settings sub-tab where they belong, next to the card-learning UI. Both are covered by the General/RFID-tab auto-save. i18n de/en/fr | [`ui-branding`](../../releases/tag/ui-branding) |
146146
| **Now-playing: ID3 artist + album**: the Control tab already showed the ID3 **title** and embedded **cover** (APIC); it now also parses the **artist** (`TPE1`/`ARTIST=`) and **album** (`TALB`/`ALBUM=`) tags and shows them as "Artist — Album" under the title. The fields are reset per track (so a tag-less track doesn't show stale metadata) and exposed in the `trackinfo` websocket payload (`artist`/`album`) | [`id3-meta`](../../releases/tag/id3-meta) |
147147
| **Now-playing info dialog**: an info icon next to "Current track" in the Control tab opens a dialog with the full track detail — ID3 title/artist/album, embedded cover, file path + size, play mode, track x/y, **codec / sample rate / bitrate / channels**, position/duration and the RFID tag that started the playlist. Served on demand via a new `GET /currenttrack` (so it doesn't bloat the frequent `trackinfo` websocket). Also: the **Unlocked** control button now uses the neutral (inactive) styling like the other toggles — only **Locked** keeps an accent colour. i18n de/en/fr | [`trackinfo-dialog`](../../releases/tag/trackinfo-dialog) |
148+
| **Settings tabs de-cluttered**: the long "General" sub-tab was split — the **LED** settings (NeoPixel brightness + LED config) moved into a new **LEDs** sub-tab, and **Deep sleep + Battery** into a new **Power** sub-tab. Both new tabs are covered by the same auto-save. General now holds just volume/branding/options/playlist/rotary. i18n de/en/fr | [`settings-split`](../../releases/tag/settings-split) |
148149
| **OpenAPI/Swagger spec updated**: the bundled `REST_API.yaml` (served at `/swagger.html`) now documents all fork-added endpoints (`/sync`, `/syncstop`, `/playlist`, `/githubupdate`, `/version`, `/login`, `/logout`, `/security`, `/eqrule(s)`, `/activeequalizer`, `/bluetooth*`, `/sdclean`) and declares the security schemes (`X-API-Key` header / `apikey` query param, or the `ESPUINO_SESSION` login cookie) so the Swagger "Authorize" button works. The web-interface footer links to the Swagger UI (`/swagger.html`) | [`f8298d9`](../../commit/f8298d9) |
149150

150151
#### Feature highlights

‎html/locales/de.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
"buttons": "Tasten",
4242
"tools": "Tools",
4343
"help": "Hilfe",
44-
"rfidcards": "RFID"
44+
"rfidcards": "RFID",
45+
"leds": "LEDs",
46+
"power": "Power"
4547
},
4648
"settingsex": {
4749
"title": "Erweiterte Einstellungen",

‎html/locales/en.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
"buttons": "Buttons",
4242
"tools": "Tools",
4343
"help": "Help",
44-
"rfidcards": "RFID"
44+
"rfidcards": "RFID",
45+
"leds": "LEDs",
46+
"power": "Power"
4547
},
4648
"settingsex": {
4749
"title": "Advanced settings",

‎html/locales/fr.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
"buttons": "Boutons",
4242
"tools": "Outils",
4343
"help": "Aide",
44-
"rfidcards": "RFID"
44+
"rfidcards": "RFID",
45+
"leds": "LEDs",
46+
"power": "Alim."
4547
},
4648
"settingsex": {
4749
"title": "Paramètres avancés",

0 commit comments

Comments
 (0)