diff --git a/messages/de.json b/messages/de.json index a271c6a83..49891b4d7 100644 --- a/messages/de.json +++ b/messages/de.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Widerrufen", "statusExpired": "Abgelaufen", "inactiveTitle": "Widerrufen und abgelaufen ({count})" - } + }, + "genderOther": "Divers" }, "admin": { "title": "Administration", diff --git a/messages/en.json b/messages/en.json index 2a470fc3a..e55e0d75b 100644 --- a/messages/en.json +++ b/messages/en.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Revoked", "statusExpired": "Expired", "inactiveTitle": "Revoked and expired ({count})" - } + }, + "genderOther": "Other" }, "admin": { "title": "Administration", diff --git a/messages/es.json b/messages/es.json index 8fecd5fc0..c39d085e6 100644 --- a/messages/es.json +++ b/messages/es.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Revocado", "statusExpired": "Caducado", "inactiveTitle": "Revocados y caducados ({count})" - } + }, + "genderOther": "Otro" }, "admin": { "title": "Administration", diff --git a/messages/fr.json b/messages/fr.json index ca24b7c24..c6e315957 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Révoqué", "statusExpired": "Expiré", "inactiveTitle": "Révoqués et expirés ({count})" - } + }, + "genderOther": "Autre" }, "admin": { "title": "Administration", diff --git a/messages/it.json b/messages/it.json index 28ad42835..faf92c4cb 100644 --- a/messages/it.json +++ b/messages/it.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Revocato", "statusExpired": "Scaduto", "inactiveTitle": "Revocati e scaduti ({count})" - } + }, + "genderOther": "Altro" }, "admin": { "title": "Administration", diff --git a/messages/pl.json b/messages/pl.json index 0d45c451d..f451696bf 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -3877,7 +3877,8 @@ "statusRevoked": "Unieważniony", "statusExpired": "Wygasły", "inactiveTitle": "Unieważnione i wygasłe ({count})" - } + }, + "genderOther": "Inna" }, "admin": { "title": "Administracja", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index e49884e87..a9eb00922 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -48,7 +48,7 @@ model User { // Profile heightCm Float? @map("height_cm") dateOfBirth DateTime? @map("date_of_birth") - gender String? @map("gender") // "MALE" | "FEMALE" | null = keine Angabe + gender String? @map("gender") // "MALE" | "FEMALE" | "OTHER" | null = keine Angabe timezone String @default("Europe/Berlin") // Codex OAuth (ChatGPT subscription) diff --git a/src/components/settings/account-section.tsx b/src/components/settings/account-section.tsx index 2ef26422c..975c76fe1 100644 --- a/src/components/settings/account-section.tsx +++ b/src/components/settings/account-section.tsx @@ -448,6 +448,7 @@ export function AccountSection() { +
{t("settings.genderHint")} diff --git a/src/lib/validations/auth.ts b/src/lib/validations/auth.ts index 7c899cf61..761ba630f 100644 --- a/src/lib/validations/auth.ts +++ b/src/lib/validations/auth.ts @@ -38,7 +38,7 @@ export const profileSchema = z.object({ email: z.email("Invalid email address").nullable().optional(), heightCm: z.number().min(50).max(300).nullable().optional(), dateOfBirth: z.string().nullable().optional(), // ISO date string - gender: z.enum(["MALE", "FEMALE"]).nullable().optional(), + gender: z.enum(["MALE", "FEMALE", "OTHER"]).nullable().optional(), // v1.7.0 — optional patient-identity fields for the health-record // export cover + FHIR Patient resource. All optional, never required. fullName: z.string().trim().max(120).nullable().optional(),