+ {/* Campos de mensaje */}
+
+
+ {/* Acciones */}
+
@@ -144,12 +233,14 @@ function VistaPreviaDiplomaDialog({
)
}
+
+
+
+
+
{mensaje && (
{mensaje}
)}
+
+ {/* Vista previa PDF */}
{mostrarVistaPrevia && (
-
-
-
+
+
+
diff --git a/diplomas/src/pages/api/send-diploma.js b/diplomas/src/pages/api/send-diploma.js
index 14fdb64..1f772a8 100644
--- a/diplomas/src/pages/api/send-diploma.js
+++ b/diplomas/src/pages/api/send-diploma.js
@@ -5,14 +5,18 @@ sgMail.setApiKey(process.env.SENDGRID_API_KEY);
export default async function handler(req, res) {
if (req.method !== "POST") return res.status(405).end();
- const { email, nombre, curso, pdfBase64 } = req.body;
+ // Recibe mensajeCorreo desde el body
+ const { email, nombre, curso, pdfBase64, mensajeCorreo } = req.body;
try {
await sgMail.send({
to: email,
from: "rviverosgonzalez@outlook.com", // Cambia esto por tu correo verificado en SendGrid
subject: "Tu diploma",
- text: `Hola ${nombre}, has concluido tu curso ${curso} por lo que adjuntamos tu diploma.`,
+ // Usa el mensajeCorreo personalizado, si no viene usa el texto por defecto
+ text:
+ mensajeCorreo ||
+ `Hola ${nombre}, has concluido tu curso ${curso} por lo que adjuntamos tu diploma.`,
attachments: [
{
content: pdfBase64,
diff --git a/diplomas/src/schemas/mensajesSchema.js b/diplomas/src/schemas/mensajesSchema.js
new file mode 100644
index 0000000..0374869
--- /dev/null
+++ b/diplomas/src/schemas/mensajesSchema.js
@@ -0,0 +1,6 @@
+import { z } from "zod";
+
+export const mensajesSchema = z.object({
+ correo: z.string().min(1, "El mensaje de correo es obligatorio"),
+ whatsapp: z.string().min(1, "El mensaje de WhatsApp es obligatorio"),
+});