0.5.0.3
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -226,6 +226,7 @@ export function TreeLayout({
|
||||
isHighlighted={member.id === highlightedMemberId}
|
||||
relationMode={relationMode}
|
||||
isSelected={selectedMembers.includes(member.id)}
|
||||
selectedMembers={selectedMembers}
|
||||
canEdit={canEdit}
|
||||
onAddRelation={(type) => setRelationDialog({ member, type })}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user