'use client'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '@/components/ui/alert-dialog'; import { Loader2 } from 'lucide-react'; interface ArchiveConfirmDialogProps { open: boolean; onOpenChange: (open: boolean) => void; entityName: string; entityType: string; isArchived: boolean; onConfirm: () => void; isLoading?: boolean; } export function ArchiveConfirmDialog({ open, onOpenChange, entityName, entityType, isArchived, onConfirm, isLoading, }: ArchiveConfirmDialogProps) { const action = isArchived ? 'Restore' : 'Archive'; return ( {action} {entityType}? {isArchived ? `Are you sure you want to restore "${entityName}"? This ${entityType.toLowerCase()} will be visible in the default list again.` : `Are you sure you want to archive "${entityName}"? This ${entityType.toLowerCase()} will be hidden from the default list but can be restored later.`} Cancel { e.preventDefault(); onConfirm(); }} disabled={isLoading} className={isArchived ? '' : 'bg-destructive text-destructive-foreground hover:bg-destructive/90'} > {isLoading && } {action} ); }