From 7ccfda5d17a1a0c417645e527628528b37783732 Mon Sep 17 00:00:00 2001 From: lew Date: Tue, 24 Mar 2026 16:49:39 +0000 Subject: [PATCH] fix(subspecies): allows for custom subspecies names --- src/lib/output.test.ts | 5 +++++ src/lib/output.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/output.test.ts b/src/lib/output.test.ts index 824bfbf..9f27027 100644 --- a/src/lib/output.test.ts +++ b/src/lib/output.test.ts @@ -101,6 +101,11 @@ describe('formatFieldOutput', () => { expect(formatFieldOutput(field, 'hharar', stubSpecies, 'tajara')).toBe('Ethnicity: Hharar'); }); + it('formats custom subspecies with dynamic label', () => { + const field: FieldDef = { label: 'Subspecies', type: 'subspecies' }; + expect(formatFieldOutput(field, 'asdfg', stubSpecies, 'tajara')).toBe('Ethnicity: asdfg'); + }); + it('returns null for empty subspecies', () => { const field: FieldDef = { label: 'Subspecies', type: 'subspecies' }; expect(formatFieldOutput(field, '', stubSpecies, 'tajara')).toBeNull(); diff --git a/src/lib/output.ts b/src/lib/output.ts index da0647c..05481b1 100644 --- a/src/lib/output.ts +++ b/src/lib/output.ts @@ -48,7 +48,7 @@ export function formatFieldOutput( const sp = speciesData.find((s) => s.id === currentSpecies); if (!sp) return null; const sub = sp.subspecies.find((s) => s.id === value); - return sub ? `${sp.subspeciesLabel}: ${sub.name}` : null; + return sub ? `${sp.subspeciesLabel}: ${sub.name}` : `${sp.subspeciesLabel}: ${value}`; } case 'languages': {