import { baseTemplate, primaryButton, heading, infoBox } from './base.js';

export function trialReminderEmail(data: {
  nombre: string;
  despachoNombre: string;
  diasRestantes: number;
  wizardCompleto: boolean;
}): string {
  const urgency = data.diasRestantes <= 3;

  const message = data.diasRestantes > 7
    ? `Te quedan <strong>${data.diasRestantes} días</strong> de prueba gratuita.`
    : urgency
      ? `⚠️ Tu prueba gratuita termina en <strong>${data.diasRestantes} días</strong>.`
      : `Tu prueba gratuita termina en <strong>${data.diasRestantes} días</strong>.`;

  const wizardNote = !data.wizardCompleto
    ? infoBox('Aún no has completado la configuración inicial de tu despacho. Visita la página de onboarding para terminar.')
    : '';

  return baseTemplate(`
    ${heading(urgency ? '⚠️ Tu trial está por terminar' : 'Actualización de tu trial')}
    <p style="color: #374151; font-size: 16px; line-height: 1.6;">
      Hola <strong>${data.nombre}</strong>,
    </p>
    <p style="color: #374151; font-size: 16px; line-height: 1.6;">
      ${message} en <strong>${data.despachoNombre}</strong>.
    </p>
    ${wizardNote}
    <p style="color: #374151; font-size: 16px; line-height: 1.6;">
      Para seguir usando Horux Despachos sin interrupción, elige un plan antes de que termine tu prueba.
    </p>
    ${primaryButton('Elegir plan', 'https://horuxfin.com/configuracion/suscripcion')}
    <p style="color: #6B7280; font-size: 13px; margin-top: 24px;">
      Si tienes dudas, responde a este correo o contáctanos en soporte@horuxfin.com.
    </p>
  `);
}

export function trialExpiredEmail(data: {
  nombre: string;
  despachoNombre: string;
}): string {
  return baseTemplate(`
    ${heading('Tu prueba gratuita ha terminado')}
    <p style="color: #374151; font-size: 16px; line-height: 1.6;">
      Hola <strong>${data.nombre}</strong>,
    </p>
    <p style="color: #374151; font-size: 16px; line-height: 1.6;">
      El período de prueba de <strong>${data.despachoNombre}</strong> ha finalizado.
      Tu información sigue segura, pero el acceso está suspendido hasta que elijas un plan.
    </p>
    ${primaryButton('Reactivar mi despacho', 'https://horuxfin.com/configuracion/suscripcion')}
    <p style="color: #6B7280; font-size: 13px; margin-top: 24px;">
      Tus datos se conservarán durante 30 días adicionales. Después de ese período, serán archivados.
    </p>
  `);
}
