import { ReactNode } from "react"; import { Button } from "@/app/_components/ui/button"; import { Loader2 } from "lucide-react"; import { CAlertDialog } from "@/app/_components/alert-dialog"; import { cn } from "@/app/_lib/utils"; interface DangerActionProps { title: string; description: string; onClick?: () => void; isPending?: boolean; pendingText?: string; icon?: ReactNode; actionText?: string; isDialog?: boolean; dialogProps?: any; className?: string; contentClassName?: string; titleClassName?: string; descriptionClassName?: string; buttonClassName?: string; containerClassName?: string; buttonVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link"; buttonSize?: "default" | "sm" | "lg" | "icon"; } export function DangerAction({ title, description, onClick, isPending = false, pendingText = "Loading...", icon, actionText, isDialog, dialogProps, className, contentClassName, titleClassName, descriptionClassName, buttonClassName, containerClassName, buttonVariant = "outline", buttonSize = "sm" }: DangerActionProps) { return (

{title}

{description}

{isDialog ? (
) : ( )}
); }