From 5f0e56abec13a2dc45ea0ea35ba7d225000a92fa Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Sat, 31 Aug 2024 01:51:01 -0700 Subject: [PATCH] all emails working when a customer submits an order --- backend/instance/mydatabase.db | Bin 24576 -> 24576 bytes frontend/src/app/actions/sendEmail.ts | 2 +- frontend/src/app/api/emails/route.ts | 11 +++++++---- frontend/src/app/page.tsx | 22 ++++++++++++++++++---- frontend/src/lib/mail.utils.ts | 2 +- 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/backend/instance/mydatabase.db b/backend/instance/mydatabase.db index ba80e2a986640b4b111b3db8ef2f59ca5db0a719..328ee2f30e18a4b63ef8dc2a58adb6fb74c3aa91 100644 GIT binary patch delta 244 zcmZoTz}Rqrae_3X;Y1l{M#GH>OZ=JjILjup2l(@Gm2w4g>2R@e-r`)%S+=oJh?C7& zkA=b5b#iTtv}bN8+nq~|#O|T>*RUt36Tp_U_Q$-snsy_KbjHqCKW|nnI zaav+>S(36AP*fEtDq@GIR|8IW`1cJNLf~K Uvb+XRjV#a>DaPW>)1tCi0cn{{-v9sr delta 36 scmZoTz}Rqrae_3X)<{9 diff --git a/frontend/src/app/actions/sendEmail.ts b/frontend/src/app/actions/sendEmail.ts index 9783b06..4e62750 100644 --- a/frontend/src/app/actions/sendEmail.ts +++ b/frontend/src/app/actions/sendEmail.ts @@ -31,7 +31,7 @@ export const sendEmail = async (formData: FormData) => { try { await resend.emails.send({ - from:"Order Form ", + from:"Kevos Official ", // to:"arcjcb11@gmail.com", to: senderEmail as string, subject: "New Order", diff --git a/frontend/src/app/api/emails/route.ts b/frontend/src/app/api/emails/route.ts index cbcb0bb..44dd174 100644 --- a/frontend/src/app/api/emails/route.ts +++ b/frontend/src/app/api/emails/route.ts @@ -1,6 +1,7 @@ -import { sendEmail } from "@/lib/mail.utils" +import { sendEmails } from "@/lib/mail.utils" +import { NextRequest } from "next/server" -export async function POST() { +export async function POST(request: NextRequest) { const sender = { name: 'Kevos Official', address: 'no-reply@kevosattire.com', @@ -11,12 +12,14 @@ export async function POST() { address: 'arcjcb11@gmail.com', }] + const clientEmail = await request.json(); + try{ - const result = await sendEmail({ + const result = await sendEmails({ sender, recipients, subject: "New Email!", - message: "We will follow up with a Paypal invoice soon!" + message: `New order from ${clientEmail}` }) return Response.json({ diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 8eecb61..18d0bce 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -9,7 +9,7 @@ import ClientPortal from "@/components/ClientPortal/ClientPortal"; import styles from "@/styles/Home.module.css"; import { Poppins } from "next/font/google"; import { sendEmail } from "./actions/sendEmail"; -import { selfEmail } from "./api/emails/route"; +import { sendEmails } from "@/lib/mail.utils"; const Popp = Poppins({ weight: "400", subsets: ["latin"] }); @@ -33,10 +33,24 @@ export default function Home() { // console.log({email:formData.get("email"), order:formData.get("order")}) // Send client email - // await sendEmail(formData); + await sendEmail(formData); // Send new order email to self - // await selfEmail(formData); + const clientEmail = formData.get('senderEmail') as string + await fetch("/api/emails", { + method: "POST", + headers: { + "Content-type": "application/json", + }, + body: JSON.stringify(clientEmail), + }) + // .then((response) => response.json()) + // .then((data) => { + // console.log(data); + // }) + .catch((error) => { + console.error(error); + }); // const response = await fetch("http://192.168.50.107:5580/new-order", { @@ -60,7 +74,7 @@ export default function Home() { emails: "", orders: "", }); - alert("Order Placed! Please check your email.") + // alert("Order Placed! Please check your email.") } return ( diff --git a/frontend/src/lib/mail.utils.ts b/frontend/src/lib/mail.utils.ts index dc46f5e..de5830d 100644 --- a/frontend/src/lib/mail.utils.ts +++ b/frontend/src/lib/mail.utils.ts @@ -20,7 +20,7 @@ type SendEmailDto = { message: string; // react: React.ReactNode; } -export const sendEmail = async (dto: SendEmailDto) => { +export const sendEmails = async (dto: SendEmailDto) => { const { sender, recipients, subject, message} = dto; return await transport.sendMail({