'use client'; import { ButtonProps, buttonVariants } from '@/components/ui/button'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from '@/components/ui/alert-dialog'; import { ReactNode } from 'react'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import type { VariantProps } from 'class-variance-authority'; interface ButtonWithConfirmDialogProps { buttonProps?: ButtonProps; onCancel?: () => any; onSubmit: () => any; tooltipContent?: string; dialogTitle: string; dialogDescription: string; dialogButtonCancel?: string; dialogButtonSubmit?: string; dialogButtonSubmitProps?: VariantProps; children: ReactNode; } export function ConfirmationDialogWrapper( { onCancel, onSubmit, tooltipContent, dialogTitle, dialogDescription, dialogButtonCancel, dialogButtonSubmit, dialogButtonSubmitProps, children, }: ButtonWithConfirmDialogProps) { return ( {tooltipContent} {children} {dialogTitle} {dialogDescription} {dialogButtonCancel ?? 'Cancel'} {dialogButtonSubmit ?? 'Confirm'} ); }