'use client' import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '@/components/ui/alert-dialog' import { useTranslation } from '@/lib/hooks/use-translation' import { LoadingSpinner } from '@/components/common/LoadingSpinner' interface ConfirmDialogProps { open: boolean onOpenChange: (open: boolean) => void title: string description: string confirmText?: string confirmVariant?: 'default' | 'destructive' onConfirm: () => void isLoading?: boolean } export function ConfirmDialog({ open, onOpenChange, title, description, confirmText, confirmVariant = 'default', onConfirm, isLoading = false, }: ConfirmDialogProps) { const { t } = useTranslation() const finalConfirmText = confirmText || t('common.confirm') return ( {title} {description} {t('common.cancel')} {isLoading ? ( <> {finalConfirmText} ) : ( finalConfirmText )} ) }