Django internet radio player
Auf schmalen Screens saß der Marker-Modus-Button bisher nur in der 150px- Randspalte — man musste sie erst öffnen (und damit den ohnehin knappen Lesebereich verkleinern), um überhaupt markieren zu können. Jetzt zusätzlich ein Marker-Button direkt im Haupt-Header (nur <=600px sichtbar, Desktop bleibt bei der bisherigen Anordnung in der Notes-Leiste). Im Marker-Modus legt ein einfacher Tap auf reinen Lesetext (ohne Auswahl) jetzt direkt eine freie Notiz an der Wortposition an — man muss nicht mehr den exakten Klick-Punkt in der Randspalte treffen. Das Bearbeiten der Notiz läuft auf schmalen Viewports über ein neues Bottom-Sheet (volle Breite) statt über das Inline-Textfeld in der 150px-Spalte, das auf dem Handy-Keyboard unangenehm zu bedienen ist. Notiz-Objekte werden jetzt erst bei tatsächlich eingegebenem Text angelegt und gespeichert (vorher: sofort beim Setzen des Ankers) — verhindert, dass ein abgebrochener/leerer Tap eine Ghost-Notiz in currentHighlights hinterlässt. Gilt für alle Eingabewege (Bottom-Sheet UND die bestehende Inline-Randspalten-Bearbeitung), per Playwright verifiziert inkl. Escape- Cancel auf Desktop. Priorität laut Nutzer: Notizen-Erfassung muss auf Mobile gut funktionieren; dass bestehende Notizen dort weniger prominent sichtbar sind, ist explizit in Ordnung — die vertiefte Auseinandersetzung mit Notizen bleibt eine Desktop-Aufgabe. Verifiziert per Playwright (390×844 mobil + 1280×900 Desktop-Regression): Marker-Button-Sichtbarkeit, Bottom-Sheet-Flow (Erstellen/Abbrechen/Speichern, kein Ghost-Eintrag), reale Text-Selektion + Highlight+Notiz weiterhin funktionsfähig auf Mobile, Desktop-Workflow (Randspalte, Inline-Editor, Escape-Cancel, Blur-Commit) unverändert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| accounts | ||
| books | ||
| diora | ||
| e2e | ||
| gpodder | ||
| podcasts | ||
| radio | ||
| static | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.cron | ||
| manage.py | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.js | ||
| requirements.txt | ||