This commit is contained in:
freedakgmail
2025-11-23 16:12:05 +08:00
parent 3375a79ed4
commit 222824f438
40 changed files with 38962 additions and 624 deletions
+30 -2
View File
@@ -7,7 +7,7 @@ import { useFamily } from "@/context/family-context"
import { SiteHeader } from "@/components/site-header"
import { MemberForm } from "@/components/members/member-form"
import { Button } from "@/components/ui/button"
import { ArrowLeft, Edit, Trash, Share2, Printer, CircleUser, CircleUserRound, Images, BookOpen } from "lucide-react"
import { ArrowLeft, Edit, Trash, Share2, Printer, CircleUser, CircleUserRound, Images, BookOpen, UserPlus } from "lucide-react"
import { useState, useEffect } from "react"
import type { FamilyMember } from "@/types/family"
import { db } from "@/lib/db"
@@ -66,6 +66,28 @@ export default function MemberProfilePage() {
}
}
const handleQuickAddChild = () => {
// 跳转到新增成员页面,并预填父母信息
const params = new URLSearchParams()
if (member.gender === 'MALE') {
params.set('fatherId', member.id)
} else {
params.set('motherId', member.id)
}
params.set('generation', (member.generation + 1).toString())
router.push(`/members/new?${params.toString()}`)
}
const handleQuickAddSpouse = () => {
// 跳转到新增成员页面,并预填配偶信息
const params = new URLSearchParams()
params.set('spouseId', member.id)
params.set('generation', member.generation.toString())
// 配偶性别与当前成员相反
params.set('gender', member.gender === 'MALE' ? 'FEMALE' : 'MALE')
router.push(`/members/new?${params.toString()}`)
}
if (isEditing) {
return (
<div className="min-h-screen flex flex-col bg-background">
@@ -145,7 +167,13 @@ export default function MemberProfilePage() {
</div>
</div>
<div className="flex gap-2">
<div className="flex gap-2 flex-wrap">
<Button variant="default" onClick={handleQuickAddChild} className="gap-2">
<UserPlus className="h-4 w-4" />
</Button>
<Button variant="secondary" onClick={handleQuickAddSpouse} className="gap-2">
<UserPlus className="h-4 w-4" />
</Button>
<Button variant="outline" size="icon" onClick={() => window.print()}>
<Printer className="h-4 w-4" />
</Button>