import { Resend } from "resend";

const resend = process.env.RESEND_API_KEY ? new Resend(process.env.RESEND_API_KEY) : null;

export async function sendPharmacyWelcomeEmail(opts: {
  to: string;
  pharmacyName: string;
  loginUrl: string;
}) {
  if (!resend) {
    console.warn(
      `[email] RESEND_API_KEY absente — email de bienvenue non envoyé à ${opts.to}. ` +
        `Lien de connexion : ${opts.loginUrl}`,
    );
    return;
  }

  await resend.emails.send({
    from: process.env.EMAIL_FROM ?? "Mon Bilan Prévention <onboarding@resend.dev>",
    to: opts.to,
    subject: "Votre compte Mon Bilan Prévention est actif",
    html: `
      <p>Bonjour,</p>
      <p>Le compte de la pharmacie <strong>${opts.pharmacyName}</strong> est maintenant actif sur
      Mon Bilan Prévention.</p>
      <p>Vous pouvez vous connecter à votre espace ici : <a href="${opts.loginUrl}">${opts.loginUrl}</a></p>
      <p>Vous y retrouverez le QR code à afficher en pharmacie ainsi que les bilans reçus.</p>
    `,
  });
}

export async function sendPasswordResetEmail(opts: { to: string; resetUrl: string }) {
  if (!resend) {
    console.warn(
      `[email] RESEND_API_KEY absente — email de réinitialisation non envoyé à ${opts.to}. ` +
        `Lien : ${opts.resetUrl}`,
    );
    return;
  }

  await resend.emails.send({
    from: process.env.EMAIL_FROM ?? "Mon Bilan Prévention <onboarding@resend.dev>",
    to: opts.to,
    subject: "Réinitialisation de votre mot de passe",
    html: `
      <p>Bonjour,</p>
      <p>Une demande de réinitialisation de mot de passe a été effectuée pour ce compte.</p>
      <p>Cliquez sur ce lien pour choisir un nouveau mot de passe (valable 1 heure) :</p>
      <p><a href="${opts.resetUrl}">${opts.resetUrl}</a></p>
      <p>Si vous n'êtes pas à l'origine de cette demande, vous pouvez ignorer cet email.</p>
    `,
  });
}
