0.8.0.0
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
AlertDialog,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogContent,
|
||||
AlertDialogDescription,
|
||||
AlertDialogFooter,
|
||||
AlertDialogHeader,
|
||||
AlertDialogTitle,
|
||||
} from "@/components/ui/alert-dialog"
|
||||
import { AlertTriangle } from "lucide-react"
|
||||
|
||||
interface GenerationWarningDialogProps {
|
||||
open: boolean
|
||||
onOpenChange: (open: boolean) => void
|
||||
memberName: string
|
||||
relationType: 'father' | 'mother'
|
||||
onConfirm: () => void
|
||||
}
|
||||
|
||||
/**
|
||||
* 代数重新计算警告对话框
|
||||
* 当用户尝试给第1代成员(始祖)添加父母时显示此对话框
|
||||
*/
|
||||
export function GenerationWarningDialog({
|
||||
open,
|
||||
onOpenChange,
|
||||
memberName,
|
||||
relationType,
|
||||
onConfirm,
|
||||
}: GenerationWarningDialogProps) {
|
||||
const relationText = relationType === 'father' ? '父亲' : '母亲'
|
||||
|
||||
const handleConfirm = () => {
|
||||
onOpenChange(false)
|
||||
onConfirm()
|
||||
}
|
||||
|
||||
return (
|
||||
<AlertDialog open={open} onOpenChange={onOpenChange}>
|
||||
<AlertDialogContent className="max-w-md">
|
||||
<AlertDialogHeader>
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="flex h-10 w-10 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-900/30">
|
||||
<AlertTriangle className="h-5 w-5 text-amber-600 dark:text-amber-500" />
|
||||
</div>
|
||||
<AlertDialogTitle className="text-lg">
|
||||
全族代数将重新计算
|
||||
</AlertDialogTitle>
|
||||
</div>
|
||||
<AlertDialogDescription asChild>
|
||||
<div className="space-y-3 pt-2">
|
||||
<p>
|
||||
您正在给 <span className="font-semibold text-foreground">{memberName}</span> 添加{relationText},
|
||||
这将导致<span className="text-amber-600 dark:text-amber-500 font-medium">全族代数重新计算</span>。
|
||||
</p>
|
||||
|
||||
<div className="rounded-lg bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 p-3">
|
||||
<p className="text-sm text-amber-800 dark:text-amber-200">
|
||||
<span className="font-medium">代数变化说明:</span>
|
||||
<br />
|
||||
原第1代将变为第2代,以此类推。新添加的{relationText}将成为新的第1代始祖。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p className="text-sm text-muted-foreground">
|
||||
此操作不可撤销,请确认是否继续?
|
||||
</p>
|
||||
</div>
|
||||
</AlertDialogDescription>
|
||||
</AlertDialogHeader>
|
||||
<AlertDialogFooter>
|
||||
<AlertDialogCancel>取消</AlertDialogCancel>
|
||||
<AlertDialogAction
|
||||
onClick={handleConfirm}
|
||||
className="bg-amber-600 hover:bg-amber-700 text-white"
|
||||
>
|
||||
确认添加
|
||||
</AlertDialogAction>
|
||||
</AlertDialogFooter>
|
||||
</AlertDialogContent>
|
||||
</AlertDialog>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user