Skip to content

Commit d0c963e

Browse files
committed
feat: update portafolio
1 parent 566131d commit d0c963e

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

portfolio/app/api/send/route.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { NextRequest, NextResponse } from 'next/server';
22
import { Resend } from 'resend';
33
import { z } from 'zod';
44
import EmailTemplate from '@/components/emails/EmailTemplate';
5-
import { renderToStaticMarkup } from 'react-dom/server'; // Usamos react-dom/server
5+
import { render } from '@react-email/render'; // Usaremos render de @react-email/render
6+
import React from 'react'; // Importar React para el tipado
67

78
const resend = new Resend(process.env.RESEND_API_KEY);
89

@@ -34,16 +35,15 @@ export async function POST(req: NextRequest) {
3435

3536
const { name, email, message } = parsed.data;
3637

37-
// 3. Renderizar el componente de React a un string de HTML estático
38-
// Forzamos el tipo a 'any' temporalmente para evitar conflictos de tipado con componentes de servidor
39-
const emailHtml = renderToStaticMarkup(EmailTemplate({ name, email, message }) as any);
38+
// 3. Renderizar el componente de React a un string de HTML (ahora con await)
39+
const emailHtml = await render(EmailTemplate({ name, email, message }) as React.ReactElement);
4040

4141
// 4. Enviar el correo con Resend usando la propiedad 'html'
4242
const { data, error } = await resend.emails.send({
4343
from: 'Portfolio Contact <onboarding@resend.dev>', // Dominio verificado en Resend
4444
to: ['ing.javiernuma@gmail.com'],
4545
subject: `Nuevo mensaje de ${name} desde tu portafolio`,
46-
html: emailHtml, // Usamos la propiedad 'html' con el string renderizado
46+
html: emailHtml, // Ahora emailHtml es un string resuelto
4747
text: `Nombre: ${name}\nEmail: ${email}\nMensaje: ${message}`, // Versión de texto plano
4848
});
4949

0 commit comments

Comments
 (0)