diff --git a/app/home/(user)/_components/dashboard.tsx b/app/home/(user)/_components/dashboard.tsx index 356688b..d2f8007 100644 --- a/app/home/(user)/_components/dashboard.tsx +++ b/app/home/(user)/_components/dashboard.tsx @@ -59,7 +59,7 @@ const cards = ({ }) => [ { title: 'dashboard:gender', - description: gender ?? 'dashboard:male', + description: gender ?? '-', icon: , iconBg: 'bg-success', }, @@ -153,7 +153,7 @@ export default function Dashboard({ <>
{cards({ - gender, + gender: gender.label, age, height, weight, diff --git a/lib/utils.ts b/lib/utils.ts index 90442fa..d8fa393 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -90,17 +90,6 @@ export function getBmiBackgroundColor(bmiStatus: BmiCategory | null): string { } } -export function getGenderStringFromPersonalCode(personalCode: string) { - switch (PersonalCode.parsePersonalCode(personalCode).gender) { - case 'F': - return 'common:female'; - case 'M': - return 'common:male'; - default: - return 'common:unknown'; - } -} - type AgeRange = '18-29' | '30-39' | '40-49' | '50-59' | '60'; export default class PersonalCode { static getPersonalCode(personalCode: string | null) { @@ -115,7 +104,7 @@ export default class PersonalCode { static parsePersonalCode(personalCode: string): { ageRange: AgeRange; - gender: 'M' | 'F'; + gender: { label: string; value: string }; dob: Date; age: number; } { @@ -139,7 +128,17 @@ export default class PersonalCode { } throw new Error('Age range not supported'); })(); - const gender = parsed.getGender() === Gender.MALE ? 'M' : 'F'; + const gender = (() => { + const gender = parsed.getGender(); + switch (gender) { + case Gender.FEMALE: + return { label: 'common:female', value: 'F' }; + case Gender.MALE: + return { label: 'common:male', value: 'M' }; + default: + throw new Error('Gender not supported'); + } + })(); return { ageRange,