This commit is contained in:
freedakgmail
2025-11-30 22:14:24 +08:00
parent dd2f67073b
commit 25ae1107ee
117 changed files with 166 additions and 157 deletions
+10 -2
View File
@@ -25,6 +25,7 @@ interface FamilyNodeProps {
isHighlighted?: boolean
relationMode?: boolean
isSelected?: boolean
selectedMembers?: string[]
canEdit?: boolean
onAddRelation?: (type: "child" | "spouse") => void
}
@@ -409,7 +410,7 @@ function PersonCard({
)
}
export function FamilyNode({ member, spouse, spouses, isRoot, onSelect, isHighlighted, relationMode, isSelected, canEdit = true, onAddRelation }: FamilyNodeProps) {
export function FamilyNode({ member, spouse, spouses, isRoot, onSelect, isHighlighted, relationMode, isSelected, selectedMembers = [], canEdit = true, onAddRelation }: FamilyNodeProps) {
// 优先使用 spouses 数组,如果没有则使用单个 spouse
const spouseList = spouses || (spouse ? [spouse] : [])
@@ -424,7 +425,14 @@ export function FamilyNode({ member, spouse, spouses, isRoot, onSelect, isHighli
{spouseList.map((spouseMember, index) => (
<div key={spouseMember.id} className="flex items-center gap-2">
<Heart className="h-4 w-4 text-red-400 flex-shrink-0" />
<PersonCard member={spouseMember} isSpouse={true} onSelect={onSelect} relationMode={relationMode} canEdit={canEdit} />
<PersonCard
member={spouseMember}
isSpouse={true}
onSelect={onSelect}
relationMode={relationMode}
isSelected={selectedMembers.includes(spouseMember.id)}
canEdit={canEdit}
/>
</div>
))}
</div>