fix(akte): falscher Hinweis „Weicht vom eingetragenen Farbschlag ab"
Beim Prod-Nachtest aufgefallen: Bei Schecken meldete die Akte eine Abweichung, obwohl eingetragener und errechneter Farbschlag identisch angezeigt wurden (JackJack: „Saphir Schecke" vs. „Saphir Schecke"). Zwei Ursachen: - Der Vergleich schnitt „Schecke"/„Rex" nur auf der ERRECHNETEN Seite ab, nicht auf der eingetragenen (die den Zusatz über formatVarietyName trägt). Jetzt werden beide Seiten gleich normalisiert. - formatVarietyName hängte den Modifier auch an, wenn der Katalogname ihn schon trägt („Schwarz Schecke" → „Schwarz Schecke Schecke"). Tests: 3 vitest-Fälle zu formatVarietyName, e2e SCHECKE-MISMATCH mit Gegenprobe (Mock-Tier mit echter Abweichung zeigt den Hinweis weiter). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,11 @@ function describeGenotype(genotype: string | null): { display: string; farbschla
|
||||
}
|
||||
|
||||
/** A labelled key/value row inside a card (semantic dt/dd, styled as a grid). */
|
||||
/** „Saphir Schecke" → „Saphir": Modifier-Zusaetze fuer den Namensvergleich abschneiden. */
|
||||
function stripVarietyModifiers(name: string): string {
|
||||
return name.replace(' Schecke', '').replace(' Rex', '').trim()
|
||||
}
|
||||
|
||||
function Kv({ label, children }: { label: string; children: ReactNode }) {
|
||||
return (
|
||||
<div className="ak-kv">
|
||||
@@ -594,10 +599,16 @@ export default function GerbilDetailPage() {
|
||||
return (
|
||||
<>
|
||||
{resolvedFarbschlag}
|
||||
{/* Vergleich OHNE die Modifier-Zusaetze auf BEIDEN Seiten: der
|
||||
eingetragene Name traegt „Schecke"/„Rex" bereits (formatVarietyName
|
||||
haengt sie aus dem Gencode an), der errechnete ebenfalls. Vorher wurde
|
||||
der Zusatz nur rechts entfernt → jede Schecke bekam faelschlich den
|
||||
Hinweis „Weicht vom eingetragenen Farbschlag ab" (z. B. JackJack:
|
||||
„Saphir Schecke" vs. „Saphir Schecke"). */}
|
||||
{storedColorName &&
|
||||
resolvedFarbschlag !== de.genetics.unknownFarbschlag &&
|
||||
storedColorName !==
|
||||
resolvedFarbschlag.replace(' Schecke', '').replace(' Rex', '') && (
|
||||
stripVarietyModifiers(storedColorName) !==
|
||||
stripVarietyModifiers(resolvedFarbschlag) && (
|
||||
<small className="ak-mismatch"> ⚠ {t.detail.farbschlagMismatch}</small>
|
||||
)}
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user