|
1 | 1 | import React, { useState } from "react"; |
2 | 2 |
|
3 | 3 | function ContactForm() { |
| 4 | + const isDevelopment = process.env.NODE_ENV === "development"; |
4 | 5 | const [name, setName] = useState(""); |
5 | 6 | const [email, setEmail] = useState(""); |
6 | 7 | const [message, setMessage] = useState(""); |
7 | 8 |
|
8 | 9 | const handleSubmit = async (event) => { |
9 | 10 | event.preventDefault(); |
10 | | - const data = { name, email, message }; |
| 11 | + let data = { name, email, message }; |
11 | 12 | try { |
12 | | - console.log('Form submission successful:'); |
13 | 13 | // clear form |
14 | 14 | setName(''); |
15 | 15 | setEmail(''); |
16 | 16 | 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); |
17 | 20 | } catch (error) { |
18 | 21 | console.error('Form submission error:', error); |
19 | 22 | console.log('Error caught'); |
20 | 23 | } |
21 | 24 | }; |
22 | 25 |
|
| 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 | + |
23 | 43 | return ( |
24 | | -<> |
| 44 | + <> |
25 | 45 | <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> |
29 | 49 | </form> |
30 | 50 |
|
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> |
48 | 57 | </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" /> |
49 | 61 |
|
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> |
57 | 69 |
|
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> |
71 | 92 | </div> |
72 | | - </div> |
73 | 93 | </> |
74 | 94 | ); |
75 | 95 | } |
|
0 commit comments