@@ -104,14 +104,15 @@ interface FamilyMemberCardProps {
104104 person : PersonWithId | undefined ;
105105 dbId : string ;
106106 hasPhoto : boolean ;
107- label ?: string ;
108- labelColor ?: string ;
107+ gender ?: 'male' | 'female' ;
109108}
110109
111- function FamilyMemberCard ( { id, person, dbId, hasPhoto, label , labelColor = 'bg-app-bg text-app-text-muted' } : FamilyMemberCardProps ) {
110+ function FamilyMemberCard ( { id, person, dbId, hasPhoto, gender } : FamilyMemberCardProps ) {
112111 const displayName = person ?. name || id . slice ( 0 , 8 ) ;
113112 const firstName = displayName . split ( ' ' ) [ 0 ] ;
114113 const lifespan = person ?. lifespan ;
114+ // Use person's gender if available, otherwise use the passed gender prop
115+ const effectiveGender = person ?. gender || gender ;
115116
116117 return (
117118 < Link
@@ -136,9 +137,9 @@ function FamilyMemberCard({ id, person, dbId, hasPhoto, label, labelColor = 'bg-
136137 < span className = "text-xs font-medium text-app-text truncate group-hover:text-app-accent" >
137138 { firstName }
138139 </ span >
139- { label && (
140- < span className = { `text-[10px] px-1 rounded ${ labelColor } ` } >
141- { label }
140+ { effectiveGender && effectiveGender !== 'unknown' && (
141+ < span className = { `text-[10px] ${ effectiveGender === 'male' ? 'text-app-male' : 'text-app-female' } ` } >
142+ { effectiveGender === 'male' ? '♂' : '♀' }
142143 </ span >
143144 ) }
144145 </ div >
@@ -908,8 +909,7 @@ export function PersonDetail() {
908909 person = { parentData [ parentId ] }
909910 dbId = { dbId ! }
910911 hasPhoto = { familyPhotos [ parentId ] ?? false }
911- label = { parentData [ parentId ] ?. gender === 'male' ? 'F' : parentData [ parentId ] ?. gender === 'female' ? 'M' : ( idx === 0 ? 'F' : 'M' ) }
912- labelColor = { parentData [ parentId ] ?. gender === 'male' || ( ! parentData [ parentId ] ?. gender && idx === 0 ) ? 'bg-app-male-subtle text-app-male' : 'bg-app-female-subtle text-app-female' }
912+ gender = { parentData [ parentId ] ?. gender === 'male' ? 'male' : parentData [ parentId ] ?. gender === 'female' ? 'female' : ( idx === 0 ? 'male' : 'female' ) }
913913 />
914914 ) ) }
915915 </ div >
0 commit comments