import React, { useState } from 'react';
import './ConfirmModal.css';

export default function ConfirmModal({
  visible = false, title = '确认操作', content = '', confirmType = 'danger',
  confirmText = '确定', cancelText = '取消', loading = false, dontAsk = false,
  onConfirm, onCancel
}) {
  const [checked, setChecked] = useState(false);
  if (!visible) return null;
  return (
    <div className="kole-modal-mask" onClick={e => { if (e.target === e.currentTarget) onCancel && onCancel(); }}>
      <div className={`kole-confirm ${confirmType === 'danger' ? 'is-danger' : 'is-primary'}`}>
        <div className="kole-confirm-head">
          <span className="kole-confirm-icon">!</span>
          <div className="kole-confirm-title">{title}</div>
        </div>
        <div className="kole-confirm-content">{content}</div>
        {dontAsk ? (
          <label className="kole-confirm-extra">
            <input type="checkbox" checked={checked} onChange={e => setChecked(e.target.checked)} /> 不再提示
          </label>
        ) : null}
        <div className="kole-confirm-footer">
          <button className="kole-confirm-btn" disabled={loading} onClick={onCancel}>{cancelText}</button>
          <button
            className={`kole-confirm-btn ${confirmType === 'danger' ? 'danger' : 'primary'}`}
            disabled={loading}
            onClick={() => onConfirm && onConfirm(checked)}
          >
            {loading ? '处理中…' : confirmText}
          </button>
        </div>
      </div>
    </div>
  );
}
