mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 00:56:16 +00:00
feat(service): landing chooser at /, shared header + footer (refs #451)
Post-merge, "/" was the admin console with a small text link to the player. This makes "/" a neutral chooser and unifies the chrome across all three surfaces (landing, player, admin). - "/" now serves a lean chooser page (web/landing.html): a calm, self- contained page (no framework, inline CSS) that routes to the Player (/app) or the Admin & Setup console (/admin), with the console framed as the privileged surface. API/speaker clients (non-HTML Accept) still get the version JSON from "/" unchanged. - The admin console moved to /admin (HandleAdmin); its assets and APIs are absolute, so it works unchanged at the new path. - New persisted setting default_landing (chooser|app|admin): when set to app or admin, "/" 302-redirects straight there. Exposed in the admin Settings tab; defaults to the chooser. - Shared header: all three carry the same accent bar (braille mark + "AfterTouch" + "Bose SoundTouch Toolkit"); the mark is the home link back to "/". Shared footer: all three show the same version line (the landing fetches /api/setup/version with a tiny vanilla script). Light/dark and mobile refinements are deliberately left for a later pass; the admin keeps its existing light-only styling for now. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b861c11d37
commit
86878cd23b
@@ -1175,6 +1175,7 @@ func setupRouter(server *handlers.Server, stockholmHandler *stockholm.Handler, w
|
||||
r.Use(server.RecordMiddleware)
|
||||
|
||||
r.Get("/", server.HandleRoot)
|
||||
r.Get("/admin", server.HandleAdmin)
|
||||
r.Get("/health", server.HandleHealth)
|
||||
r.Get("/favicon.ico", func(w http.ResponseWriter, r *http.Request) {
|
||||
// The favicon lives in the embedded web/img bundle, not under
|
||||
|
||||
@@ -34,6 +34,7 @@ GET /accounts/{account}/devices/{device}/presets handlers.(
|
||||
GET /accounts/{account}/devices/{device}/recents handlers.(*Server).HandleUnsupported-fm
|
||||
GET /accounts/{account}/full handlers.(*Server).HandleUnsupported-fm
|
||||
GET /accounts/{account}/sources handlers.(*Server).HandleUnsupported-fm
|
||||
GET /admin handlers.(*Server).HandleAdmin-fm
|
||||
GET /api/control/devices/ soundtouchweb.(*WebApp).HandleAPIDevices-fm
|
||||
GET /api/control/devices/{id}/ soundtouchweb.(*WebApp).HandleAPIDevice-fm
|
||||
GET /api/control/devices/{id}/action/{action} soundtouchweb.(*WebApp).HandleAPIControl-fm
|
||||
|
||||
Reference in New Issue
Block a user