fix(akte): Komma-Trenner in Listen + Elternnamen in der Wurf-Liste

- Zuchtpartner/Nachzucht: .ak-kv-value ist ein Flex-Container mit wrap, jeder
  Eintrag ein eigenes Item. Das vorangestellte „, " landete beim Umbruch am
  Zeilenanfang („, Zora"). Das Komma klebt jetzt hinten am vorherigen Namen.
  Regressionstest KV-COMMA (schlaegt gegen den alten Code fehl).
- Wurf-Liste/Zuchtpaare: Elternnamen wurden nur aus den ersten 1000 Tieren
  aufgeloest (Prod hat >2400) → Eltern dahinter erschienen als „Unbekannt".
  Jetzt werden alle Tiere geladen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-19 22:42:59 +02:00
parent 54e873c115
commit fdad1633cd
3 changed files with 29 additions and 5 deletions

View File

@@ -554,10 +554,13 @@ export default function GerbilDetailPage() {
)}
{g.isResident !== false && (partners.data?.items.length ?? 0) > 0 && (
<Kv label={t.detail.zuchtpartner}>
{(partners.data?.items ?? []).map((p, i) => (
{/* Trennkomma HINTEN an den Namen, nicht vorne an den nächsten: .ak-kv-value
ist ein Flex-Container mit wrap, jeder Eintrag also ein eigenes Flex-Item.
Vorangestellt landete das Komma beim Umbruch am ZEILENANFANG („, Zora"). */}
{(partners.data?.items ?? []).map((p, i, all) => (
<span key={p.id}>
{i > 0 && ', '}
<Link to={`/rennmaeuse/${p.id}`}>{p.name || de.pages.gerbils.nameless}</Link>
{i < all.length - 1 && ','}
</span>
))}
</Kv>
@@ -612,12 +615,12 @@ export default function GerbilDetailPage() {
{(offspring.data?.items.length ?? 0) > 0 && (
<p className="ak-empty">
{t.detail.nonResidentOffspringLabel}{' '}
{(offspring.data?.items ?? []).map((child, i) => (
{(offspring.data?.items ?? []).map((child, i, all) => (
<span key={child.id}>
{i > 0 && ', '}
<Link to={`/rennmaeuse/${child.id}`}>
{child.name || de.pages.gerbils.nameless}
</Link>
{i < all.length - 1 && ','}
</span>
))}
</p>

View File

@@ -61,7 +61,10 @@ export default function WuerfeListPage() {
// Parent names (shared by both tabs) — keep the full gerbil so the Zucht suffix applies.
const gerbilName = useGerbilName()
const gerbils = useApi(() => listGerbils({ page: 1, pageSize: 1000, orderBy: 'name' }), [])
// Alle Tiere laden (nicht nur die ersten 1000): sonst finden Würfe, deren Eltern
// alphabetisch hinter dem Fenster liegen, ihren Namen nicht und die Karte zeigt
// fälschlich „Unbekannt" (Prod hat >2400 Tiere).
const gerbils = useApi(() => listGerbils({ page: 1, pageSize: 10000, orderBy: 'name' }), [])
const gerbilById = useMemo(() => {
const map = new Map<string, Gerbil>()
for (const g of gerbils.data?.items ?? []) map.set(g.id, g)