mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
feat(account): accept a third gender value
Add "OTHER" to the accepted gender values (the column is a free String, so no migration) and surface it in the account selector. This lets a non-binary or trans user record their gender and opt into the cycle-tracking surface through the per-user enable flag, rather than being gated out by a binary field. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
55f40df0ac
commit
3e398295a3
9 files changed
+15
-8
No files matched your search
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Widerrufen",
|
||||
"statusExpired": "Abgelaufen",
|
||||
"inactiveTitle": "Widerrufen und abgelaufen ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Divers"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
|
||||
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Revoked",
|
||||
"statusExpired": "Expired",
|
||||
"inactiveTitle": "Revoked and expired ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Other"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
|
||||
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Revocado",
|
||||
"statusExpired": "Caducado",
|
||||
"inactiveTitle": "Revocados y caducados ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Otro"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
|
||||
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Révoqué",
|
||||
"statusExpired": "Expiré",
|
||||
"inactiveTitle": "Révoqués et expirés ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Autre"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
|
||||
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Revocato",
|
||||
"statusExpired": "Scaduto",
|
||||
"inactiveTitle": "Revocati e scaduti ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Altro"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
|
||||
+2
-1
@@ -3877,7 +3877,8 @@
|
||||
"statusRevoked": "Unieważniony",
|
||||
"statusExpired": "Wygasły",
|
||||
"inactiveTitle": "Unieważnione i wygasłe ({count})"
|
||||
}
|
||||
},
|
||||
"genderOther": "Inna"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administracja",
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -448,6 +448,7 @@ export function AccountSection() {
|
||||
<option value="">{t("settings.genderNone")}</option>
|
||||
<option value="MALE">{t("settings.genderMale")}</option>
|
||||
<option value="FEMALE">{t("settings.genderFemale")}</option>
|
||||
<option value="OTHER">{t("settings.genderOther")}</option>
|
||||
</NativeSelect>
|
||||
<p className="text-muted-foreground text-xs">
|
||||
{t("settings.genderHint")}
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in new issue
Block a user