"use client" import { ReactNode, useState } from "react" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" interface ConfirmationDialogProps { trigger: ReactNode title: string description: string confirmText?: string cancelText?: string onConfirm: (closeDialog: () => void) => void onCancel?: () => void variant?: "default" | "destructive" } export function ConfirmationDialog({ trigger, title, description, confirmText = "Continue", cancelText = "Cancel", onConfirm, onCancel, variant = "default" }: ConfirmationDialogProps) { const [open, setOpen] = useState(false) const handleConfirm = () => { const closeDialog = () => setOpen(false) onConfirm(closeDialog) } const handleCancel = () => { onCancel?.() setOpen(false) } return ( {trigger} {title} {description} ) }