// ══════════════════════════════════════════════
// RRB Admin — Module: kyc
// ══════════════════════════════════════════════


// ══════════════════════════════════════════════════════════════════════════════
//  KYC — Verificación de Identidad
// ══════════════════════════════════════════════════════════════════════════════

let _kycFiltroActual = 'pendiente';

async function kycInit() {
await kycCargar('pendiente');
}

async function kycCargar(filtro) {
_kycFiltroActual = filtro;
const lista = document.getElementById('kyc-lista');
const contador = document.getElementById('kyc-contador');

// Actualizar estilos de botones
const btns = { pendiente: 'kyc-btn-pendiente', aprobado: 'kyc-btn-aprobado', rechazado: 'kyc-btn-rechazado', todos: 'kyc-btn-todos' };
const colores = { pendiente: '#fd7e14', aprobado: '#198754', rechazado: '#dc3545', todos: '#6c757d' };
Object.entries(btns).forEach(([k, id]) => {
  const btn = document.getElementById(id);
  if (!btn) return;
  if (k === filtro) {
    btn.style.background = colores[k];
    btn.style.color = '#fff';
  } else {
    btn.style.background = '#fff';
    btn.style.color = colores[k];
  }
});

lista.innerHTML = '<div style="text-align:center;padding:40px;color:#aaa;font-size:13px">⏳ Cargando...</div>';
contador.textContent = '';

try {
  const data = await api('GET', `api/kyc-lista.php?filtro=${filtro}`);
  if (!data.ok) throw new Error(data.error || 'Error al cargar');

  const items = data.kyc || [];
  contador.textContent = `${items.length} registro(s)`;

  if (items.length === 0) {
    lista.innerHTML = '<div style="text-align:center;padding:40px;color:#aaa;font-size:13px">No hay registros en esta categoría</div>';
    return;
  }

  const statusInfo = {
    0: { label: 'Sin enviar',   color: '#6c757d', bg: '#f8f9fa' },
    1: { label: '✅ Aprobado',  color: '#198754', bg: '#d1e7dd' },
    2: { label: '⏳ En revisión', color: '#856404', bg: '#fff3cd' },
    3: { label: '❌ Rechazado', color: '#842029', bg: '#f8d7da' },
  };

  const docDefs = [
    { sub: 1, label: 'Domicilio',       icon: '🏠', color: '#0d6efd' },
    { sub: 2, label: 'Identificación',  icon: '🪪', color: '#6f42c1' },
    { sub: 3, label: 'Cuenta bancaria', icon: '🏦', color: '#0dcaf0' },
    { sub: 4, label: 'Fotografía',      icon: '🤳', color: '#20c997' },
  ];

  lista.innerHTML = items.map(k => {
    const st = statusInfo[k.isVip] || statusInfo[0];

    const docBtns = docDefs.map(def => {
      const doc = k.docs && k.docs[def.sub];
      if (!doc) {
        return `<span style="padding:5px 10px;background:#f1f3f5;color:#aaa;border-radius:6px;font-size:12px">${def.icon} Sin ${def.label}</span>`;
      }
      const tkUrl = doc.url + '&token=' + encodeURIComponent(token());
      const onclick = doc.esPdf
        ? `window.open('${tkUrl}','_blank')`
        : `kycVerImg('${tkUrl}','${def.label} — ${k.nombre}')`;
      return `<button onclick="${onclick}" style="padding:5px 12px;border:1.5px solid ${def.color};background:#fff;color:${def.color};border-radius:6px;font-size:12px;cursor:pointer">${def.icon} ${def.label}${doc.esPdf ? ' (PDF)' : ''}</button>`;
    }).join('');

    return `<div style="background:#fff;border:1px solid #dee2e6;border-radius:10px;padding:16px 20px">
      <div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px">
        <div>
          <div style="font-size:15px;font-weight:700;color:#212529">${k.nombre}</div>
          <div style="font-size:12px;color:#6c757d;margin-top:2px">Ref: ${k.referencia} &nbsp;|&nbsp; RFC: ${k.rfc || '—'} &nbsp;|&nbsp; ID: ${k.id_inver}</div>
          ${k.email ? `<div style="font-size:12px;color:#6c757d">${k.email}</div>` : ''}
        </div>
        <div style="display:flex;align-items:center;gap:8px">
          <span style="font-size:12px;color:#6c757d">${k.total_docs || 0}/4 docs</span>
          <span style="padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;background:${st.bg};color:${st.color}">${st.label}</span>
        </div>
      </div>

      <!-- Documentos -->
      <div style="display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center">
        ${docBtns}
      </div>

      <!-- Acciones -->
      <div style="display:flex;gap:8px;margin-top:12px;flex-wrap:wrap">
        ${k.isVip !== 1 ? `<button onclick="kycAccion(${k.id_inver},'aprobar',this)" style="padding:6px 16px;background:#198754;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer">✅ Aprobar</button>` : ''}
        ${k.isVip !== 3 ? `<button onclick="kycAccion(${k.id_inver},'rechazar',this)" style="padding:6px 16px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer">❌ Rechazar</button>` : ''}
        ${k.isVip !== 2 ? `<button onclick="kycAccion(${k.id_inver},'pendiente',this)" style="padding:6px 16px;background:#fd7e14;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer">⏳ Marcar en revisión</button>` : ''}
      </div>
    </div>`;
  }).join('');

} catch(e) {
  lista.innerHTML = `<div style="text-align:center;padding:20px;color:#dc3545;font-size:13px">Error: ${e.message}</div>`;
}
}

function kycVerImg(url, label) {
const modal = document.getElementById('kyc-modal-img');
document.getElementById('kyc-modal-img-src').src = url;
document.getElementById('kyc-modal-img-label').textContent = label;
modal.style.display = 'flex';
}

// ══════════════════════════════════════════════════════════════════════════════
//  DEPÓSITOS EN BANCO
// ══════════════════════════════════════════════════════════════════════════════

let _dbnData        = [];   // datos completos del servidor
let _dbnFiltrado    = [];   // datos tras filtro de cuenta
let _dbnSortCol     = 'fechat';
let _dbnSortDir     = 'asc';
let _dbnCuentaActiva = null; // null = todas

const _dbnMeses = ['','Enero','Febrero','Marzo','Abril','Mayo','Junio',
                 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];

