Skip to content

Commit aa3a93a

Browse files
authored
Merge pull request #134 from JumboCode/myi/email
temporarily disable contact form, change contact email
2 parents 55b74db + dcaf085 commit aa3a93a

File tree

5 files changed

+25
-44
lines changed

5 files changed

+25
-44
lines changed

api/routes/email-routes.js

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,23 @@
11
import "dotenv/config";
22
import express from "express";
33
import nodemailer from "nodemailer";
4-
import Contact from "../schemas/Contact.js";
54

65
const router = express.Router();
76

7+
// Nodemailer setup
8+
const transporter = nodemailer.createTransport({
9+
service: 'gmail',
10+
auth: {
11+
user: process.env.ADMIN_EMAIL,
12+
pass: process.env.ADMIN_PASSWORD,
13+
},
14+
});
15+
816
// Post Contact
917
router.post('/contact', async (req, res) => {
1018
const { name, email, subject, message } = req.body
1119

1220
try {
13-
const newContact = new Contact({
14-
name,
15-
email,
16-
subject,
17-
message
18-
});
19-
await newContact.save();
20-
21-
// Nodemailer setup
22-
const transporter = nodemailer.createTransport({
23-
service: 'gmail',
24-
auth: {
25-
user: process.env.ADMIN_EMAIL,
26-
pass: process.env.ADMIN_PASSWORD,
27-
},
28-
});
29-
3021
transporter.verify((error, success) => {
3122
if (error) {
3223
console.error('Error initializing transporter:', error);
@@ -37,8 +28,9 @@ router.post('/contact', async (req, res) => {
3728

3829

3930
const mailOptions = {
40-
from: email,
31+
from: `"${name}" <${process.env.ADMIN_EMAIL}>`,
4132
to: process.env.ADMIN_EMAIL,
33+
replyTo: email,
4234
subject: `Contact Form: ${subject}`,
4335
html: `
4436
<p><strong>From:</strong> ${name} (${email})</p>

api/schemas/Contact.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/components/Footer.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const Footer = () => {
99
<div className="max-w-[96rem] w-full">
1010
<h1 className="font-extrabold mb-5">Dillar Academy</h1>
1111
<div className="flex flex-col gap-y-2 sm:gap-y-3 lg:text-lg">
12-
<a href="mailto:[email protected]">{t("email")}: [email protected]</a>
12+
<a href="mailto:[email protected]">{t("email")}: [email protected]</a>
1313
<a href={'https://www.instagram.com/dillaracademy/'} target="_blank" rel="noreferrer noopener">{t("instagram")}: @dillaracademy</a>
1414
<Link href="/contact" className="underline">{t("contact_text")}</Link>
1515
</div>

src/pages/Contact.jsx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Button from '@/components/Button/Button';
77
import Alert from "@/components/Alert";
88
import { useTranslation } from 'react-i18next';
99

10-
export default function Contact() {
10+
const Contact = () => {
1111
const { t } = useTranslation();
1212

1313
const [formData, setFormData] = useState({
@@ -18,7 +18,7 @@ export default function Contact() {
1818
});
1919
const [alertMessage, setAlertMessage] = useState("")
2020
const [successMessage, setSuccessMessage] = useState("")
21-
21+
const [isSending, setIsSending] = useState(false);
2222

2323
const handleChange = (e) => {
2424
setFormData({ ...formData, [e.target.name]: e.target.value });
@@ -27,6 +27,7 @@ export default function Contact() {
2727
const handleSubmit = async (e) => {
2828
e.preventDefault();
2929
try {
30+
setIsSending(true);
3031
await postContact(formData);
3132
setSuccessMessage('contact_success_alert');
3233
setTimeout(() => {
@@ -40,10 +41,12 @@ export default function Contact() {
4041
});
4142
} catch (err) {
4243
console.error('Error submitting message:', err);
43-
setAlertMessage(`Error: ${err.response.data.message}`); // TODO: translations
44+
setAlertMessage(`Error: ${err.response.data.message}`);
4445
setTimeout(() => {
4546
setAlertMessage("");
4647
}, 4000);
48+
} finally {
49+
setIsSending(false);
4750
}
4851
};
4952

@@ -59,7 +62,10 @@ export default function Contact() {
5962
<p className="text-base sm:text-lg mb-4 text-gray-600 opacity-70">
6063
{t("contact_form_description")}
6164
</p >
62-
<form
65+
<a href="mailto:[email protected]">{t("email")}: [email protected]</a>
66+
67+
68+
{/* <form
6369
onSubmit={handleSubmit}
6470
className="space-y-3"
6571
>
@@ -98,15 +104,14 @@ export default function Contact() {
98104
<Button
99105
type="submit"
100106
label={t("submit_button")}
107+
isDisabled={isSending}
101108
/>
102-
</form>
109+
</form> */}
103110
</Form>
104111
</div>
105112
</div >
106113
</>
107114
);
108115
}
109116

110-
111-
112-
117+
export default Contact;

src/wrappers/class-wrapper.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const getClasses = async (query = "") => {
2020
} catch (error) {
2121
console.error('Error fetching courses:', error)
2222
throw error;
23-
2423
}
2524
}
2625

0 commit comments

Comments
 (0)