Compare commits

...

5 Commits

+28 -8
View File
@@ -17,19 +17,38 @@ function Forms() {
terms_conditions: false terms_conditions: false
}) })
const validForm = formDetails.first_name && formDetails.last_name && formDetails.email && formDetails.phone_number && formDetails.subject && formDetails.message
const handleChange = ({target:{name, value}}) => { const handleChange = ({target:{name, value}}) => {
setFormDetails(prev => ({...prev, [name]:value})) if(name == 'terms_conditions'){
setFormDetails(prev => ({...prev, [name]:!prev.terms_conditions}))
}else{
setFormDetails(prev => ({...prev, [name]:value}))
}
} }
const [requestStatus, setRequestStatus] = useState({loading:false, status:false, msg:''}) const [requestStatus, setRequestStatus] = useState({loading:false, status:false, msg:''})
const validForm = formDetails.first_name && formDetails.last_name && formDetails.email && formDetails.phone_number && formDetails.subject && formDetails.message
function handleSubmit(e) { function handleSubmit(e) {
e.preventDefault() e.preventDefault()
const isChecked = formDetails.terms_conditions
setRequestStatus({loading:true, status:false, msg:''}) setRequestStatus({loading:true, status:false, msg:''})
if(!validForm){ if(!validForm){
setRequestStatus({loading:false, status:false, msg:'please, fill all fields'}) setRequestStatus({loading:false, status:false, msg:'Please, fill all fields'})
setTimeout(()=>{
setRequestStatus({loading:false, status:false, msg:''})
},3000)
return
}
if(!(/^\d{7,15}$/.test(formDetails.phone_number))){
setRequestStatus({loading:false, status:false, msg:'Please, enter a valid phone number'})
setTimeout(()=>{
setRequestStatus({loading:false, status:false, msg:''})
},3000)
return
}
if(!isChecked){
setRequestStatus({loading:false, status:false, msg:'Please, Accept Terms & Conditions'})
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({loading:false, status:false, msg:''}) setRequestStatus({loading:false, status:false, msg:''})
},3000) },3000)
@@ -79,7 +98,7 @@ function Forms() {
<div className="contact--info-area"> <div className="contact--info-area">
<h3>Get in touch</h3> <h3>Get in touch</h3>
<p>Looking for help? Fill the form and start a new discussion.</p> <p>Looking for help? Fill the form and start a new discussion.</p>
<div className="single-info"> {/* <div className="single-info">
<h5>Headquaters</h5> <h5>Headquaters</h5>
<p> <p>
<i className="fal fa-home"></i> <i className="fal fa-home"></i>
@@ -93,7 +112,7 @@ function Forms() {
{process.env.NEXT_PUBLIC_SUPPORT_PHONE} {process.env.NEXT_PUBLIC_SUPPORT_PHONE}
<br /> <br />
</p> </p>
</div> </div> */}
<div className="single-info"> <div className="single-info">
<h5>Support</h5> <h5>Support</h5>
<p> <p>
@@ -135,14 +154,14 @@ function Forms() {
type="email" type="email"
name="email" name="email"
placeholder="Email Address" placeholder="Email Address"
maxLength={35} maxLength={55}
onChange={handleChange} onChange={handleChange}
value={formDetails.email} value={formDetails.email}
/> />
</div> </div>
<div className="col-md-6"> <div className="col-md-6">
<input <input
type="number" type="text"
name="phone_number" name="phone_number"
placeholder="Phone Number" placeholder="Phone Number"
maxLength={15} maxLength={15}
@@ -151,7 +170,7 @@ function Forms() {
/> />
</div> </div>
<div className="col-md-12"> <div className="col-md-12">
<input type="text" name="subject" placeholder="Subject" maxLength={35} value={formDetails.subject} onChange={handleChange} /> <input type="text" name="subject" placeholder="Subject" maxLength={150} value={formDetails.subject} onChange={handleChange} />
</div> </div>
<div className="col-md-12"> <div className="col-md-12">
<textarea <textarea
@@ -159,6 +178,7 @@ function Forms() {
placeholder="How can we help?" placeholder="How can we help?"
onChange={handleChange} onChange={handleChange}
value={formDetails.message} value={formDetails.message}
maxLength={350}
></textarea> ></textarea>
</div> </div>
<div className="col-md-6"> <div className="col-md-6">