- Lösch-Bestätigung: Bulma-Modal statt browser-nativer confirm()
- Status-Page komplett auf Deutsch, relative Zeitstempel ("vor 2 Min")
- Querlinks Admin ↔ Status-Page
- Bulma CSS + SortableJS als lokale go:embed Assets statt CDN
- Player-UI: sanfte Fade-Transitions (500ms) bei Content-Wechsel
- Player-UI: erweitertes Sysinfo-Overlay (Titel, Playlist-Länge, Netzwerk)
- Aria-Labels für Lösch-Buttons und Drag-Handles
- Larry-Fixes: Null-Checks in copy()/switchTab(), Umlaut-Korrektur
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
859 B
Go
30 lines
859 B
Go
package manage
|
|
|
|
import (
|
|
_ "embed"
|
|
"net/http"
|
|
)
|
|
|
|
//go:embed static/bulma.min.css
|
|
var bulmaCSS []byte
|
|
|
|
//go:embed static/Sortable.min.js
|
|
var sortableJS []byte
|
|
|
|
// HandleStaticBulmaCSS serves the embedded Bulma CSS file.
|
|
func HandleStaticBulmaCSS() http.HandlerFunc {
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
|
w.Header().Set("Content-Type", "text/css; charset=utf-8")
|
|
w.Header().Set("Cache-Control", "public, max-age=31536000, immutable")
|
|
w.Write(bulmaCSS) //nolint:errcheck
|
|
}
|
|
}
|
|
|
|
// HandleStaticSortableJS serves the embedded SortableJS file.
|
|
func HandleStaticSortableJS() http.HandlerFunc {
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
|
w.Header().Set("Content-Type", "application/javascript; charset=utf-8")
|
|
w.Header().Set("Cache-Control", "public, max-age=31536000, immutable")
|
|
w.Write(sortableJS) //nolint:errcheck
|
|
}
|
|
}
|