feat: Leiste trägt die Röhre vom Server, Einklappen ist umkehrbar
Zwei Sachen, die beim Benutzen aufgefallen sind.
- "leiste ausblenden" war eine Einbahnstraße: die Leiste verschwand ganz und
liess sich nur über die Entwicklerkonsole zurückholen. Jetzt bleibt ein
3px-Strich stehen, ein Klick darauf holt sie wieder. ?honeybar=1 an der
Adresse ist der Notausgang, falls der Strich übersehen wird.
- Die Leiste hatte ihre Farben fest eingetragen und blieb bernsteinfarben,
auch wenn der Schreibtisch auf grün stand. Genau dieser Bruch liess sie wie
etwas Angeklebtes wirken. /api/apps liefert deshalb jetzt {apps, settings};
die Leiste setzt Röhre, Glühen und Scanlines danach.
Dass das auch über Site-Grenzen geht, war so nicht erwartet: der Schlüssel
für die App-Liste trägt das Aussehen einfach mit.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1c3218939b
commit
5ed4e30179
5 files changed
+191
-41
No files matched your search
@@ -317,11 +317,22 @@ func (s *Server) handleSetSettings(w http.ResponseWriter, r *http.Request, sub s
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
|
||||
func (s *Server) handleApps(w http.ResponseWriter, r *http.Request, _ string) {
|
||||
writeJSON(w, http.StatusOK, s.store.Apps())
|
||||
// handleApps liefert die Liste **und** das Aussehen. Beides zusammen, weil die
|
||||
// Leiste in einer fremden App genau eine Anfrage stellen kann: Sie liegt oft auf
|
||||
// einer anderen Site, kommt also nur mit dem Schlüssel an Daten und hat keine
|
||||
// Sitzung, aus der sich der Rest ergäbe.
|
||||
//
|
||||
// Welche Einstellungen? Die des Angemeldeten, wenn es einen gibt — sonst die des
|
||||
// Standardnutzers. Bei mehreren Nutzern trägt die Leiste damit die Farbe des
|
||||
// Standardnutzers; für eine Person stimmt es immer.
|
||||
func (s *Server) handleApps(w http.ResponseWriter, r *http.Request, sub string) {
|
||||
writeJSON(w, http.StatusOK, map[string]any{
|
||||
"apps": s.store.Apps(),
|
||||
"settings": s.store.User(sub).Settings,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) handleSetApps(w http.ResponseWriter, r *http.Request, _ string) {
|
||||
func (s *Server) handleSetApps(w http.ResponseWriter, r *http.Request, sub string) {
|
||||
var in []App
|
||||
if err := decode(r, &in); err != nil {
|
||||
writeJSON(w, http.StatusBadRequest, map[string]string{"error": err.Error()})
|
||||
@@ -331,7 +342,7 @@ func (s *Server) handleSetApps(w http.ResponseWriter, r *http.Request, _ string)
|
||||
writeJSON(w, http.StatusBadRequest, map[string]string{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
writeJSON(w, http.StatusOK, s.store.Apps())
|
||||
s.handleApps(w, r, sub)
|
||||
}
|
||||
|
||||
/* ── Kleinkram ───────────────────────────────────────────────────────────── */
|
||||
|
||||
Reference in new issue
Block a user