import { Button } from "@/components/ui/button";

export function CustomModal({ open, onOpenChange, title, description, confirmText, cancelText, onConfirm, isLoading, loadingText } : any) {
    if (!open) return null;
    return (
      <div className="fixed inset-0 bg-black/50 z-50 flex items-center justify-center">
        <div className="bg-background rounded-lg w-full max-w-md p-6 shadow-lg" onClick={(e) => e.stopPropagation()}>
          <h2 className="text-xl font-bold mb-2">{title}</h2>
          <div className="my-4">{description}</div>
          <div className="flex justify-end gap-3 mt-6">
            <Button 
              variant="outline" 
              onClick={() => onOpenChange(false)}
              disabled={isLoading}
            >
              {cancelText}
            </Button>
            <Button 
              onClick={onConfirm}
              disabled={isLoading || confirmText === "لطفا ابتدا داده‌ها را ذخیره کنید"}
              className="bg-red-600 hover:bg-red-700 text-white"
            >
              {isLoading ? (
                <><div className="spinner-border ml-2 h-4 w-4 animate-spin"></div>{loadingText}</>
              ) : (
                confirmText
              )}
            </Button>
          </div>
        </div>
      </div>
    );
  }