From 699f62930aabee045c013c8bf206999301ec4d19 Mon Sep 17 00:00:00 2001 From: Sascha Wolf Date: Thu, 10 Sep 2026 08:54:24 +0200 Subject: [PATCH] fix(akquise): lange Projekttitel brechen um Die Titelspalte hatte truncate ohne feste Breite. In der automatischen Tabellenbreite hat das nichts abgeschnitten, sondern die Zelle ausgedehnt - der Titel lief sichtbar in die Spalte "Berater". Jetzt hat die Spalte eine feste Breite und der Titel bricht um (wrap-anywhere, damit auch Titel ohne Leerzeichen brechen). Gleiches im Papierkorb. Co-Authored-By: Claude Opus 5 (1M context) --- docs/09-quellcode.md | 2 +- src/components/acquisition/AcquisitionTable.tsx | 12 ++++++------ src/components/acquisition/AcquisitionTrash.tsx | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/09-quellcode.md b/docs/09-quellcode.md index 6f449ae..4bf0332 100644 --- a/docs/09-quellcode.md +++ b/docs/09-quellcode.md @@ -313,7 +313,7 @@ Warum genau diese Konstanten festgelegt sind, steht in | `components/dashboard/dashboardUi.tsx` | `useCountUp()` (Zahl läuft hoch, respektiert `prefers-reduced-motion`), `StatCard`, `SeriesChart`, `BarList`, `Panel` - von Hand statt Diagrammbibliothek | | `components/acquisition/Acquisitions.tsx` | Akquise und Archiv (`view`); Suche, Sortierung, Übernahme, Löschen, Wiederherstellen. Das Formular steht im Archiv nur beim Bearbeiten - ohne diesen Zweig blieb der Stift dort ohne Wirkung | | `components/acquisition/AcquisitionForm.tsx` | Eingabe über der Liste; behält Datum, Anbieter, Kanal und Berater für den nächsten Eintrag | -| `components/acquisition/AcquisitionTable.tsx` | die Liste; `safeLink()` lässt nur http(s) zum Link werden. Der Pfeil zurück in den Eingang erscheint nur, wenn `onReopen` gesetzt ist - im Eingang gibt es nichts zurückzuholen | +| `components/acquisition/AcquisitionTable.tsx` | die Liste; `safeLink()` lässt nur http(s) zum Link werden. Der Pfeil zurück in den Eingang erscheint nur, wenn `onReopen` gesetzt ist - im Eingang gibt es nichts zurückzuholen. Die Titelspalte ist auf 28rem festgelegt und bricht um (`wrap-anywhere`), lange Titel liefen sonst in die Spalte „Berater“ | | `components/acquisition/AcquisitionTrash.tsx` | Papierkorb der Akquise: zurückholen, endgültig löschen, leeren. Die Meldung nach dem Zurückholen nennt das Ziel (Eingang oder Archiv) - das Funddatum bleibt, also landet ein alter Fund im Archiv | | `components/acquisition/acquisitionUi.tsx` | `fieldClass` (abgesetzte Felder) und `OptionSelect` - zeigt einen Wert, der nicht mehr in der Liste steht, als solchen; `alwaysOffer` hält den eigenen Namen für *Von* immer wählbar. *Anbieter* nutzt es nicht: Freitext mit ``. Dazu `ConsultantSelect` (mehrere Berater: Auswahlfeld hängt an, Plaketten nehmen weg) und `ConsultantList` für die Anzeige in der Liste | | `components/settings/AcquisitionSettings.tsx` | Reiter *Einstellungen → Akquise*: die vier Auswahllisten pflegen | diff --git a/src/components/acquisition/AcquisitionTable.tsx b/src/components/acquisition/AcquisitionTable.tsx index de6afc9..ad64fda 100644 --- a/src/components/acquisition/AcquisitionTable.tsx +++ b/src/components/acquisition/AcquisitionTable.tsx @@ -184,23 +184,23 @@ export const AcquisitionTable: React.FC = ({ )} - + {link ? ( - {entry.title} - ↗ + {entry.title} + ↗ ) : ( - {entry.title} + {entry.title} )} {extraParts.length > 0 && ( -

{extraParts.join(' · ')}

+

{extraParts.join(' · ')}

)} {returned && ( = ({ reload }) => return ( - -

{entry.title}

+ +

{entry.title}

{extraParts.length > 0 && ( -

+

{extraParts.join(' · ')}

)}