import { simpleNotification } from './notify.js'


function validarExpiracion() {
  let timestampActual = Math.floor(Date.now() / 1000); // Timestamp en segundos
  let jsonData = JSON.parse(localStorage.getItem('exp'));
  let expiration = parseInt(jsonData?.exp); // Usamos encadenamiento opcional

  if (isNaN(expiration)) {
      console.warn("No se encontró un valor válido para 'exp' en localStorage.");
      return;
  }

  let tiempoRestante = expiration - timestampActual;
  let minutosRestantes = (tiempoRestante / 60).toFixed(0); // 1 decimal

  let actualizado = false;
  let txt_min = '';

  if (tiempoRestante < 1020 && tiempoRestante > 780 && jsonData.min15) { 
      txt_min = minutosRestantes;
      jsonData.min15 = false;
      actualizado = true;
  } else if (tiempoRestante < 660 && tiempoRestante > 420 && jsonData.min10) {
      txt_min = minutosRestantes;
      jsonData.min10 = false;
      actualizado = true;
  } else if (tiempoRestante < 300 && tiempoRestante > 60 && jsonData.min2) {
      txt_min = minutosRestantes;
      jsonData.min2 = false;
      actualizado = true;
  } else if (tiempoRestante <= 0) {
      window.location.href = "/logout";
      return; // Importante para que no se ejecute el setItem innecesariamente
  }

  if (actualizado) {
      localStorage.setItem('exp', JSON.stringify(jsonData));
      simpleNotification('⚠️ !Atención¡ ⚠️', `La sesión expirará en ~${txt_min} minutos`, 'warning', 30000)
  }

}

// Ejecutar la validación cada 5 segundos | 1 seg = 1000 milisegundos | 1 min = 60,000 milisegundos
setInterval(validarExpiracion, 5000); //180,000 = 3 minutos
