Skip to content

Commit 562770c

Browse files
committed
Update form submission logic and add test data for dev env, Compiler Warnings #81
1 parent 5c370e2 commit 562770c

File tree

1 file changed

+64
-44
lines changed

1 file changed

+64
-44
lines changed

src/components/Contact.js

Lines changed: 64 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,95 @@
11
import React, { useState } from "react";
22

33
function ContactForm() {
4+
const isDevelopment = process.env.NODE_ENV === "development";
45
const [name, setName] = useState("");
56
const [email, setEmail] = useState("");
67
const [message, setMessage] = useState("");
78

89
const handleSubmit = async (event) => {
910
event.preventDefault();
10-
const data = { name, email, message };
11+
let data = { name, email, message };
1112
try {
12-
console.log('Form submission successful:');
1313
// clear form
1414
setName('');
1515
setEmail('');
1616
setMessage('');
17+
data = { name: "testUser1", email: "test@test.com", message: "Hello, this is a test message." };
18+
console.log('Form submission successful:');
19+
console.log(data);
1720
} catch (error) {
1821
console.error('Form submission error:', error);
1922
console.log('Error caught');
2023
}
2124
};
2225

26+
if (isDevelopment) {
27+
try {
28+
document.getElementsByClassName("submit").addEventListener("click", handleSubmit);
29+
}
30+
catch (error) {
31+
console.error('Error:', error);
32+
}
33+
}
34+
else {
35+
try {
36+
document.getElementsByClassName("submit").removeEventListener("click", handleSubmit);
37+
}
38+
catch (error) {
39+
console.error('Error:', error);
40+
}
41+
}
42+
2343
return (
24-
<>
44+
<>
2545
<form name="contact" netlify="true" netlify-honeypot="bot-field" data-netlify-recaptcha="true" hidden>
26-
<input type="text" name="name" />
27-
<input type="email" name="email" />
28-
<textarea name="message"></textarea>
46+
<input type="text" name="name" />
47+
<input type="email" name="email" />
48+
<textarea name="message"></textarea>
2949
</form>
3050

31-
<div className="formFlex">
32-
<div className="form">
33-
<div className="top-bar">
34-
<span></span>
35-
<span></span>
36-
<span></span>
37-
</div>
38-
<div className="title">Get in touch!</div>
39-
<form name="contact" method="POST" data-netlify-recaptcha="true">
40-
<input type="hidden" name="form-name" value="contact" />
41-
42-
{/* Name */}
43-
<div className="input-container ic1">
44-
<label className="form-label" htmlFor="name"></label>
45-
<input className="form-control input" type="text" id="name" name="name" value={name} onChange={(e) => setName(e.target.value)}
46-
placeholder="Name"
47-
required />
51+
<div className="formFlex">
52+
<div className="form">
53+
<div className="top-bar">
54+
<span></span>
55+
<span></span>
56+
<span></span>
4857
</div>
58+
<div className="title">Get in touch!</div>
59+
<form name="contact" method="POST" data-netlify-recaptcha="true">
60+
<input type="hidden" name="form-name" value="contact" />
4961

50-
{/* Email */}
51-
<div className="input-container ic2">
52-
<label className="form-label" htmlFor="email"></label>
53-
<input className="form-control input" type="email" id="email" name="email" value={email} onChange={(e) => setEmail(e.target.value)}
54-
placeholder="Email"
55-
required/>
56-
</div>
62+
{/* Name */}
63+
<div className="input-container ic1">
64+
<label className="form-label" htmlFor="name"></label>
65+
<input className="form-control input" type="text" id="name" name="name" value={name} onChange={(e) => setName(e.target.value)}
66+
placeholder="Name"
67+
required />
68+
</div>
5769

58-
{/* Message */}
59-
<div className="input-container ic2">
60-
<label className="form-label" htmlFor="message"></label>
61-
<textarea className="form-control input from-textarea" id="message" name="message" value={message} onChange={(e) => setMessage(e.target.value)}
62-
placeholder="Message"
63-
required />
64-
</div>
65-
<div data-netlify-recaptcha="true" className="reCaptcha"></div>
66-
{/* Submit */}
67-
<button className="btn btn-danger submit" type="submit" style={{ position: "relative", marginTop: "68px" }}>
68-
Submit
69-
</button>
70-
</form>
70+
{/* Email */}
71+
<div className="input-container ic2">
72+
<label className="form-label" htmlFor="email"></label>
73+
<input className="form-control input" type="email" id="email" name="email" value={email} onChange={(e) => setEmail(e.target.value)}
74+
placeholder="Email"
75+
required />
76+
</div>
77+
78+
{/* Message */}
79+
<div className="input-container ic2">
80+
<label className="form-label" htmlFor="message"></label>
81+
<textarea className="form-control input from-textarea" id="message" name="message" value={message} onChange={(e) => setMessage(e.target.value)}
82+
placeholder="Message"
83+
required />
84+
</div>
85+
<div data-netlify-recaptcha="true" className="reCaptcha"></div>
86+
{/* Submit */}
87+
<button className="btn btn-danger submit" type="submit" style={{ position: "relative", marginTop: "68px" }}>
88+
Submit
89+
</button>
90+
</form>
91+
</div>
7192
</div>
72-
</div>
7393
</>
7494
);
7595
}

0 commit comments

Comments
 (0)