Files
Flaro/web
ScarriffleandClaude Opus 5 912969d829 Abspielen in die Mitte, die beiden Zeiten daneben
Die verstrichene Zeit stand hinter dem Lautstärkeregler — „1:51:01"
direkt neben einem Schieber liest sich wie dessen Beschriftung — und die
verbleibende ganz rechts hinter den Menüs. Zwei Angaben über dieselbe
Sache, so weit auseinander wie möglich.

Jetzt stehen sie dort, wo man ohnehin hinsieht: links und rechts vom
Knopf, den man drückt.

Drei Spalten statt drei Flex-Kinder, denn die Mitte soll die Mitte des
Bildes sein und nicht die Mitte dessen, was links und rechts übrig
bleibt. Mit `space-between` wanderte der Knopf, sobald rechts ein Menü
dazukam oder links die Lautstärke wegfiel.

Schmal weicht, was man auch anders bekommt: die Lautstärke liegt am
Telefon auf einer Taste, und die verbleibende Zeit lässt sich an der
Leiste ablesen. Der Knopf in der Mitte weicht nicht — dort sucht ihn der
Daumen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-10 14:12:50 +02:00
..

Flaro Web

Die Weboberfläche für Rechner, auf denen es keine App gibt — Windows vor allem.

Aufbau

Ordner Was
app/ Das Frontend (Vite, TypeScript)
server/ Ein Server ohne Abhängigkeiten, der die Anfragen weiterreicht und die gebauten Dateien ausliefert
frontend/ Die erste Fassung als einzelne Datei. Läuft, wird abgelöst.
jellyfin-theme/ Ein Kleid für Jellyfins eigene Oberfläche — die kleine Lösung von vorher

Warum ein eigener Server?

Er löst zwei Dinge, an denen die einzelne Datei scheitert, und zwar unabhängig davon, wie gut das Frontend geschrieben ist:

  • Herkunft. Anfragen laufen über /api und damit über dieselbe Adresse wie die Seite. Kein CORS, auch nicht beim Streamen.
  • Klartext und Verschlüsselung. Läuft der Medienserver über http und die Seite über https, blockiert der Browser den Stream. Dagegen kann keine Zeile im Frontend etwas tun — ein Server davor schon.

Nebenbei bleibt der Zugangsschlüssel beim Server, statt im Browser zu liegen.

Betreiben

cd app && npm install && npm run build
cd ../server && FLARO_SERVER=http://jellyfin:8096 node index.js

Dann auf http://localhost:8080. Der Port lässt sich über PORT ändern.

Entwickeln

cd app && FLARO_SERVER=http://jellyfin:8096 npm run dev

Vite übernimmt dabei das Weiterreichen, der eigene Server wird nicht gebraucht.