App-Ansicht: ueberholte Chat-Regeln entfernt, Verlauf bleibt ueber data-stick unten

Der Chat-Composer bringt den runden Senden-Knopf fuer die App-Ansicht selbst
mit (0d47b7c). Die alten Regeln der App-Ansicht fuer .chat-send und
.chat-input-row waren dadurch wirkungslos und sind entfernt; die
Eingabe-Pille bleibt.

- Verlauf: der ResizeObserver nutzt data-stick aus ChatComposer.trackScroll
  statt eines eigenen Scroll-Zaehlers
- Hinweis unter dem Chat nur noch in der App-Ansicht mit Touch ausgeblendet
  (vorher auf allen Touch-Geraeten, also auch auf Tablets quer)
- Handy quer: feste Hoehe der Eingabe entfernt, der Composer waechst selbst mit

Handy, Tablet hochkant und Desktop sind pixelgleich zu main (28 Ansichten).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-09-26 14:53:27 +00:00
1 parent 0d47b7ca80
commit 163ab88c35
2 files changed
+9 -16

No files matched your search

+4 -6
View File
@@ -1573,7 +1573,7 @@ function initAppShell() {
}, 80)
})
// Sichtbare Hoehe (ohne Tastatur) fuer den Chat; neueste Nachricht bleibt sichtbar.
// Sichtbare Hoehe (ohne Tastatur) fuer den Chat.
// Schliesst die Tastatur, ohne dass das Feld den Fokus verliert (Android-Zurueck-Geste),
// kommt die Tab-Leiste zurueck; tippt man erneut hinein, verschwindet sie wieder.
const vv = window.visualViewport
@@ -1600,14 +1600,12 @@ function initAppShell() {
vv.addEventListener('resize', syncHeight)
syncHeight()
}
// Wird der Verlauf kleiner (Tastatur, Tab-Leiste), bleibt die neueste Nachricht sichtbar – sofern
// man unten war (data-stick setzt ChatComposer.trackScroll)
const messages = document.getElementById('chat-messages')
if (messages && typeof ResizeObserver !== 'undefined') {
let atBottom = true
messages.addEventListener('scroll', () => {
atBottom = messages.scrollHeight - messages.scrollTop - messages.clientHeight < 48
}, { passive: true })
new ResizeObserver(() => {
if (atBottom) messages.scrollTop = messages.scrollHeight
if (messages.dataset.stick !== 'false') messages.scrollTop = messages.scrollHeight
}).observe(messages)
}