1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55import {
AlertDialog,
AlertDialogAction,
AlertDialogCancel,
AlertDialogContent,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogTrigger,
} from '.';
interface DangerDialogProps {
title: string;
description: string;
onConfirm: () => void;
triggerButton: React.ReactNode;
}
const DangerDialog: React.FC<DangerDialogProps> = ({
title,
description,
onConfirm,
triggerButton,
}) => {
return (
<AlertDialog>
<AlertDialogTrigger asChild>{triggerButton}</AlertDialogTrigger>
<AlertDialogContent
className="max-w-xs rounded-lg sm:max-w-md"
>
<AlertDialogHeader>
<AlertDialogTitle>{title}</AlertDialogTitle>
<AlertDialogDescription >
{description}
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter className="gap-2">
<AlertDialogCancel aria-label="Cancel deletion">
Cancel
</AlertDialogCancel>
<AlertDialogAction
onClick={onConfirm}
className="bg-[#cf000f]"
aria-label="Confirm deletion"
>
Confirm
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>
);
};
export default DangerDialog;