Beim Antworten war das Schreibfeld einen Buchstaben breit

Filipes Bildschirmfoto: Die Antwortleiste nimmt die ganze Breite, und
daneben steht ein Schreibfeld, in dem der Text senkrecht laeuft --
"defi / niti / v / hah / a".

DIE ABSICHT STAND DA, DIE REGEL NICHT. `.chat__eingabe` ist eine Reihe
OHNE Umbruch, und die Antwortleiste ist darin ein gleichberechtigtes
Element -- sie nimmt ihren Platz NEBEN dem Schreibfeld. Das
`margin-bottom: 8px` an der Leiste sagt seit jeher, dass sie darueber
gehoert; durchgesetzt wurde es nie.

Dazu stand am Schreibfeld `min-width: 0`. Das ist woertlich die
Erlaubnis, auf nichts zu schrumpfen -- und genau das hat es getan.

BEHOBEN MIT EINER REGEL, NICHT MIT EINER ZAHL: Die Zeile darf jetzt
umbrechen, die Antwortleiste nimmt sich mit `flex-basis: 100%` immer
die ganze Zeile, und das Schreibfeld hat eine Untergrenze von 8rem.
Bricht es darunter, bricht lieber die Zeile um, als dass das Feld
unbenutzbar wird.

Gemessen an der schmalsten Breite, die das Haus kennt:
  320 px: Schreibfeld 166 px, Antwortleiste 670 px (eigene Zeile)
  430 px: Schreibfeld 216 px
Vorher: rund 30 px.

pruef-chat-optik prueft das jetzt mit -- und nicht nur die Breite des
Feldes, sondern auch, dass die Leiste wirklich eine eigene Zeile
nimmt. Ohne die zweite Zeile waere die erste nur zufaellig gruen,
solange der zitierte Text kurz genug ist.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-21 14:11:04 +02:00
co-authored by Claude Opus 5
parent 314561fb64
commit 9a30f9e304
39 changed files with 595 additions and 506 deletions
+24 -1
View File
@@ -478,6 +478,19 @@
.chat__eingabe {
flex: none;
display: flex; align-items: flex-end; gap: 10px;
/* DIE ANTWORTLEISTE BRAUCHT IHRE EIGENE ZEILE (21.09.2026).
Sie ist ein Geschwister des Schreibfeldes in DIESER Reihe. Ohne
Umbruch nahm sie ihren Platz daneben -- und weil das Feld
`min-width: 0` hat, schrumpfte es auf die Breite eines einzigen
Buchstabens. Filipes Bildschirmfoto zeigt es: "defi / niti / v /
hah / a", ein Wort pro Zeile, senkrecht.
`flex-wrap` statt einer Schwelle: Es bricht genau dann um, wenn
der Platz nicht reicht -- und die Leiste unten nimmt sich mit
`flex-basis: 100%` immer die ganze Zeile. Eine feste Breite waere
wieder eine Rechnung von gestern. */
flex-wrap: wrap;
padding: 12px 14px 14px;
border-top: 1px solid var(--rand);
background: rgba(0, 0, 0, .2);
@@ -487,7 +500,13 @@
overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.chat__eingabe textarea {
flex: 1; min-width: 0;
/* EIN SCHREIBFELD DARF NIE UNTER EINE LESBARE BREITE FALLEN.
`min-width: 0` hiess woertlich: schrumpf bis auf null, wenn der
Platz knapp wird. Genau das ist am 21.09. passiert. Jetzt ist die
Untergrenze 8rem -- darunter bricht die Zeile lieber um, als das
Feld unbenutzbar zu machen. */
flex: 1 1 8rem; min-width: 8rem;
resize: none;
min-height: 42px; max-height: 160px;
line-height: 1.5;
@@ -865,6 +884,10 @@
/* ---- Die Antwortleiste über dem Eingabefeld ------------------------ */
.antwort-leiste {
display: flex; align-items: flex-start; gap: 10px;
/* GANZE ZEILE, IMMER. Sie gehoert ueber das Schreibfeld, nicht
daneben -- `margin-bottom` unten sagt das seit jeher, nur
durchgesetzt wurde es nie. */
flex: 1 0 100%;
margin-bottom: 8px; padding: 8px 10px 8px 11px;
box-shadow: inset 3px 0 0 var(--akzent);
background: rgba(255, 255, 255, .05);