From 821167e42c81331e135e44d6a7c1038fc81a03f0 Mon Sep 17 00:00:00 2001 From: maheer14 Date: Mon, 7 Apr 2025 01:20:34 -0500 Subject: [PATCH 1/4] added footer --- actions/sendEmail.ts | 70 +++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/actions/sendEmail.ts b/actions/sendEmail.ts index 047508da..5ddcbf11 100644 --- a/actions/sendEmail.ts +++ b/actions/sendEmail.ts @@ -3,45 +3,43 @@ import React from "react"; import { Resend } from "resend"; import { validateString, getErrorMessage } from "@/lib/utils"; -import ContactFormEmail from "@/email/contact-form-email"; +import ContactFormEmail from "@/email/contact-form-email" const resend = new Resend(process.env.RESEND_API_KEY); export const sendEmail = async (formData: FormData) => { - const senderEmail = formData.get("senderEmail"); - const message = formData.get("message"); + const senderEmail = formData.get('senderEmail'); + const message = formData.get('message'); - // simple server-side validation - if (!validateString(senderEmail, 500)) { - return { - error: "Invalid sender email", - }; - } - if (!validateString(message, 5000)) { - return { - error: "Invalid message", - }; - } + if(!validateString(senderEmail, 500)) { + return { + error: "Invalid email" + } + } + if(!validateString(message, 5000)) { + return { + error: "Invalid message" + } + } - let data; - try { - data = await resend.emails.send({ - from: "Contact Form ", - to: "bytegrad@gmail.com", - subject: "Message from contact form", - reply_to: senderEmail, - react: React.createElement(ContactFormEmail, { - message: message, - senderEmail: senderEmail, - }), - }); - } catch (error: unknown) { - return { - error: getErrorMessage(error), - }; - } - - return { - data, - }; -}; + let data; + try { + await resend.emails.send({ + from: 'Contact Form ', + to: 'maheerj914@gmail.com', + subject: 'Important', + reply_to: senderEmail as string, + react: React.createElement(ContactFormEmail, { + message: message as string, + senderEmail: senderEmail as string + }) + }); + } catch (error: unknown) { + return { + error: getErrorMessage(error), + }; + } + return { + data, + }; + }; \ No newline at end of file From c181062d8861574521b6d9d00ec26e7bacdb53d5 Mon Sep 17 00:00:00 2001 From: maheer14 Date: Mon, 7 Apr 2025 01:32:15 -0500 Subject: [PATCH 2/4] changed website icon --- app/favicon.ico | Bin 815 -> 15086 bytes app/layout.tsx | 57 ++++++++++++++++++++++++------------------------ app/page.tsx | 16 +++++++------- 3 files changed, 36 insertions(+), 37 deletions(-) diff --git a/app/favicon.ico b/app/favicon.ico index f155228d464b08b4bd6d206ec0b34da27f11213e..be45716b5147d674db890b2da35b2aa00783f70d 100644 GIT binary patch literal 15086 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 literal 815 zcmV+~1JL}5P)nu~K~#7Fy_Y+0 z6G0Hi|Fd=yyNgp&U7R$KAmThK5Hb?b0ck)q2xt&g&>=*TAR!^T@D2PCAXFqsI6|p- zI2}SF&LI&~+TA%pzGY_ph@bMFU%$e>-MiiY?94u936^9s2a|}X8zmn}KrevcaP?&6 zbpaYKKzmR~hl>8YL}I#N(=T=VfQ21@LOs^d_v!?@qba3mY<=;}so&_u02wh0ud(nG z^Z|i3)RF(9lSin7IFFh>X&5&T0#{)?+0GlPx#IiJKj#K4E;v4p)6#eIiv|x2VdTxU zc!KK0Ip&lZqIk`S(2-75=R_?8&;dpWhr*Fi7!Ua4Cl-wg zjell&lf<4!pSNxJ^405>x~ZucR+g5qvb+RqGzy_(Jsp-P7v@QOuT zyl@^?5GG5k9rk5!@46wk^623M%*NyJydpkqZR7LqF1EHm8c#%{5!-H(N)sO}eIR0I z=jY6`=XvY}&%UwN3o;2E^vPi^cVbW^YTb_KffGiM6RwWU&G(2zqb3BoiUG^P+;8SV z7(H^B``b{SpPR$#^=k-y2h$~t(-Rgsh2kA>gHo{er@nroSp&>0dp$LUnhh&7SxbLd#tF*tE{NVIl5BOrj zBX1TLRJ*Um6N*#kK}<~PL(=ee;^p^UFx~*C?AlyTZ83WbMaDKd30oUbGo*4o_c@JX tV - -
-
- - - -
- {children} -