diff --git a/src/routes/(game)/infinite/+page.svelte b/src/routes/(game)/infinite/+page.svelte index d19b275..a12b0b6 100644 --- a/src/routes/(game)/infinite/+page.svelte +++ b/src/routes/(game)/infinite/+page.svelte @@ -167,8 +167,11 @@ } // Status filter - if (characterFilters.status.length > 0 && !characterFilters.status.includes(char.status)) { - return false; + if (characterFilters.status.length > 0) { + const normalizedStatus = normalizeStatus(char.status); + if (!characterFilters.status.includes(normalizedStatus)) { + return false; + } } // Height filter @@ -357,6 +360,35 @@ generateNewCharacter(); } } + + function normalizeStatus(status: unknown): string { + if (status == null) { + return 'Unknown'; + } + + if (typeof status !== 'string') { + return String(status); + } + + const value = status.trim(); + if (value === '') { + return 'Unknown'; + } + + switch (value.toLowerCase()) { + case 'alive': + return 'Alive'; + case 'dead': + case 'deceased': + return 'Dead'; + case 'unknown': + case 'inconnu': + case '-': + return 'Unknown'; + default: + return value; + } + }