<?php
include __DIR__ . '/../partials/sidebar_configuracion.php';

$dos_factores_estado = obtenerEstadoDosFactores();
?>
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Dashboard | Configuración</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
  <style>
    body { font-family: 'Segoe UI', sans-serif; background-color: #f4f6f9; }
    .sidebar { width: 220px; height: 100vh; background-color: #343a40; position: fixed; top: 0; left: 0; padding-top: 56px; z-index: 1040; }
    .sidebar .nav-link { font-weight: bold; color: white; transition: all 0.3s ease; }
    .sidebar .nav-link:hover,
    .sidebar .nav-link.active { background-color: #495057; color: #fff; }
    .content { margin-top: 56px; padding: 40px 20px; position: relative; z-index: 1; background-color: #f4f6f9; transition: margin-left 0.3s ease; }
    .navbar { position: fixed; top: 0; width: 100%; z-index: 1050; }
    /* A partir de dispositivos medianos (>=768px), deja espacio lateral */
    @media (min-width: 768px) { .content { margin-left: 250px; /* Ancho del sidebar */ } }
    /* En móviles, sin margen lateral */
    @media (max-width: 767.98px) {
      .content { margin-left: 0; }
      .sidebar .nav-link { font-weight: normal; color: #343a40; background-color: transparent; }
      .sidebar .nav-link:hover,
      .sidebar .nav-link.active { background-color: #e9ecef; color: #212529; }
    }
    .card { border-radius: 12px; }
    .btn i { font-family: "Font Awesome 6 Free", sans-serif; margin-right: 0.5rem; }
    .btn { font-family: 'Segoe UI', sans-serif; }
    .modal-header.bg-primary { background: linear-gradient(135deg, #003366, #0055A5) !important; color: white; }
    .modal-header.bg-success { background: linear-gradient(135deg, #28a745, #20c997) !important; color: white; }
    .codigo-input { text-align: center; font-size: 1.5rem; letter-spacing: 0.5rem; font-weight: bold; }
    .intentos-restantes { color: #dc3545; font-weight: bold; }
    .password-strength { height: 4px; border-radius: 2px; margin-top: 5px; transition: all 0.3s ease; }
    .strength-weak { background-color: #dc3545; }
    .strength-medium { background-color: #ffc107; }
    .strength-strong { background-color: #28a745; }
    .btn-loading { pointer-events: none; opacity: 0.6; }
  </style>
</head>
<body>

  <div class="content">
    <h4 class="mb-4">👮 Opciones de Seguridad</h4>
    <div class="row g-3">

      <!-- Autenticacin de dos factores -->
      <div class="col-md-6">
        <div class="card shadow-sm p-3">
          <h4 class="mb-4 text-dark">Autenticación de dos factores</h4>
          <p>Al activar esta funcionalidad, blindas el acceso a tu cuenta, recibiras un código de acceso a tu correo electrónico para confirmar identidad.</p>
          <form method="post" action="/IMPORTADORES/seguridad/autenticacionDosFactores">
            <div class="form-check form-switch mb-3">
              <input type="checkbox" name="dos_factores" id="dos_factores" class="form-check-input"
                <?php echo ($dos_factores_estado == 1) ? "checked" : ""; ?>>
              <label class="form-check-label" for="dos_factores">
                <?php echo ($dos_factores_estado == 1) ? "Activo" : "Inactivo"; ?>
              </label>
            </div>
            <button type="submit" class="btn btn-primary"><i class="fas fa-floppy-disk"></i>Guardar configuración</button>
          </form>
        </div>
      </div>

      <div class="col-md-6 hide"></div>

      <!-- Correo adicional (extra) -->
      <div class="col-md-6">
        <div class="card shadow-sm p-3">
          <h4 class="mb-4 text-dark">Recibe notificaciones</h4>
          <p>Agrega un correo adicional para recibir notificaciones.</p>
          <?php if (!empty($correos['correo_extra'])): ?>
            <p><code><?= htmlspecialchars($correos['correo_extra']) ?></code></p>
            <!-- Formulario para eliminar -->
            <form method="POST" action="/IMPORTADORES/seguridad/eliminarCorreoExtra" id="form-eliminar-extra" class="mt-2 hide"></form>
            <form method="POST" action="/IMPORTADORES/seguridad/modificarCorreoExtra">
              <div class="mb-3">
                <input type="email" name="email-extra" class="form-control" value="" placeholder="Actualizar correo adicional" required>
              </div>
              <div class="d-flex gap-2">
                <button type="submit" class="btn btn-success">
                  <i class="fas fa-edit"></i>Actualizar
                </button>
                <button type="button" class="btn btn-danger" onclick="confirmarEliminacion('extra')">
                  <i class="fas fa-trash"></i> Eliminar correo
                </button>
              </div>
            </form>
          <?php else: ?>
            <form method="POST" action="/IMPORTADORES/seguridad/correoExtra">
              <div class="mb-3">
                <input type="email" name="email-extra" class="form-control" placeholder="Correo adicional" required>
              </div>
              <button type="submit" class="btn btn-primary"><i class="fas fa-envelope"></i>Registrar</button>
            </form>
          <?php endif; ?>
        </div>
      </div>

      <!-- Correo de Respaldo -->
      <div class="col-md-6">
        <div class="card shadow-sm p-3">
          <h4 class="mb-4 text-dark">Correo de respaldo</h4>
          <p>Agrega un correo de respaldo para reuperación de tu cuenta.</p>
          <?php if (!empty($correos['correo_respaldo'])): ?>
            <p><code><?= htmlspecialchars($correos['correo_respaldo']) ?></code></p>
            <!-- Formulario para eliminar -->
            <form method="POST" action="/IMPORTADORES/seguridad/eliminarCorreoRespaldo" id="form-eliminar-respaldo" class="mt-2 hide"></form>
            <form method="POST" action="/IMPORTADORES/seguridad/modificarCorreoRspaldo">
              <div class="mb-3">
                <input type="email" name="email-respaldo" class="form-control" value="" placeholder="Actualizar correo de respaldo" required>
              </div>
              <button type="submit" class="btn btn-success">
                <i class="fas fa-edit"></i>Actualizar
              </button>
              <button type="button" class="btn btn-danger" onclick="confirmarEliminacion('respaldo')">
                <i class="fas fa-trash"></i> Eliminar correo
              </button>
            </form>
          <?php else: ?>
            <form method="POST" action="/IMPORTADORES/seguridad/correoRespaldo">
              <div class="mb-3">
                <input type="email" name="email-respaldo" class="form-control" placeholder="Correo de respaldo" required>
              </div>
              <button type="submit" class="btn btn-primary"><i class="fas fa-envelope"></i>Registrar</button>
            </form>
          <?php endif; ?>
        </div>
      </div>

    </div>
  </div>

  <script>
    const chk = document.getElementById('dos_factores');
    const label = document.querySelector('label[for="dos_factores"]');

    chk.addEventListener('change', () => {
      label.textContent = chk.checked ? 'Activo' : 'Inactivo';
    });

    // Función para confirmar eliminación con SweetAlert
    function confirmarEliminacion(tipo) {
      const mensajes = {
        'extra': {
          titulo: '¿Eliminar correo adicional?',
          texto: 'No podrás recibir notificaciones en este correo.',
          confirmado: 'Correo adicional eliminado',
          form: 'form-eliminar-extra'
        },
        'respaldo': {
          titulo: '¿Eliminar correo de respaldo?',
          texto: 'No podrás recuperar tu cuenta con este correo.',
          confirmado: 'Correo de respaldo eliminado',
          form: 'form-eliminar-respaldo'
        }
      };

      const config = mensajes[tipo];

      swal({
        title: config.titulo,
        text: config.texto,
        icon: "warning",
        buttons: {
          cancel: {
            text: "Cancelar",
            visible: true,
            className: "btn-secondary"
          },
          confirm: {
            text: "Sí, eliminar",
            className: "btn-danger"
          }
        },
        dangerMode: true,
      })
      .then((eliminar) => {
        if (eliminar) {
          // Mostrar mensaje de éxito y enviar formulario
          swal({
            title: "¡Eliminado!",
            text: config.confirmado,
            icon: "success",
            timer: 1500,
            buttons: false
          });
          
          // Enviar el formulario después de un pequeño delay
          setTimeout(() => {
            document.getElementById(config.form).submit();
          }, 1500);
        }
      });
    }
  </script>
  
</body>
</html>