Compare commits

...

12 Commits

2 changed files with 59 additions and 79 deletions
+42 -58
View File
@@ -14,11 +14,14 @@ const Main = ({brdcum}) => {
'We work with you to achieve your health and fitness goals by providing solutions that fit your goals.'
let whyWeAreDiff = {
desc:'We work with you to achieve your health and fitness goals by providing solutions that fit your goals.',
title1: 'Secure',
title2: 'Rich Features',
title3: 'Ease of Use',
title4: 'Support'
}
let secure = "Secure";
let richFeatures = "Rich Features";
let easeOfUse = "Ease of Use";
let support = "Support";
let queryDesc = 'If you have an query, please get in touch with us, we will revert back quickly.'
return (
<>
@@ -114,45 +117,38 @@ const Main = ({brdcum}) => {
<img src="assets/images/secure.png" alt="image"/>
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title1}</h3>
<p>Lorem Ipsum is simply dummy text of the printing and type
setting indus ideas.
</p>
<h3>{secure}</h3>
<p>MyFit is built to keep your data secure and protect your privacy. Your data is encrypted and you are always in control of your information.</p>
</div>
</div>
</div>
<div className="col-md-6 col-lg-3">
<div className="why_box" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="200">
{/* <div className="icon">
<img src="assets/images/abt_functional.png" alt="image"/>
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title2}</h3>
<p>Simply dummy text of the printing and typesetting indus lorem Ipsum is dummy.</p>
<div className="why_box" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="200">
<div className="text">
<h3>{richFeatures}</h3>
<p>Self-service.</p>
<p>Tracking of health and fitness.</p>
<p>Scheduling.</p>
<p>Performance metrics.</p>
<p>A more active, healthier interaction and improved quality of life.</p>
</div>
</div>
</div>
</div>
<div className="col-md-6 col-lg-3">
<div className="why_box" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="300">
{/* <div className="icon">
<img src="assets/images/communication.png" alt="image"/>
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title3}</h3>
<p>Lorem Ipsum is simply dummy text of the printing and type
setting indus ideas.
</p>
<h3>{easeOfUse}</h3>
<p>MyFit keeps you connected to health, a healthy partner for a healthy life.</p>
<p>Measure and keep track of all you desire with your health, meaningful health awareness in one place, never miss an appointment, scheduling<br/> with daily plans. An advanced metrics in a glance.</p>
</div>
</div>
</div>
<div className="col-md-6 col-lg-3">
<div className="why_box" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="400">
{/* <div className="icon">
<img src="assets/images/abt_support.png" alt="image"/>
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title4}</h3>
<p>Simply dummy text of the printing and typesetting indus lorem Ipsum is dummy.</p>
<h3>{support}</h3>
<p>myFit can alert you of irregular rhythms. You can connect with your health facilitator.</p>
</div>
</div>
</div>
@@ -171,47 +167,35 @@ const Main = ({brdcum}) => {
<div className="col-lg-6">
<div className="about_text">
<div className="section_title" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="100">
<h2> <span>We focus on quality,</span> never
focus on quantity</h2>
<p>
Lorem Ipsum is simply dummy text of the printing and typesetting industry lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and.
</p>
<h2> <span>We focus on quality,</span> never focus on quantity</h2>
<p>{innovativeDesc}</p>
</div>
<ul className="app_statstic" id="counter" data-aos="fade-in" data-aos-duration="1500">
<li>
<div className="icon">
<img src="assets/images/download.png" alt="image" />
</div>
<div className="text">
<p><span className="counter-value" data-count="17">0</span><span>M+</span></p>
<p>Download</p>
<h3>Manage</h3>
<p>health plan</p>
</div>
</li>
<li>
<div className="text">
<h3>Health Record</h3>
<p>with you</p>
</div>
</li>
<li>
<div className="icon">
<img src="assets/images/followers.png" alt="image" />
</div>
<div className="text">
<p><span className="counter-value" data-count="08">0 </span><span>M+</span></p>
<p>Followers</p>
<h3>Health</h3>
<p>reminders</p>
</div>
</li>
<li>
<div className="icon">
<img src="assets/images/reviews.png" alt="image" />
</div>
<div className="text">
<p><span className="counter-value" data-count="2300">1500</span><span>+</span></p>
<p>Reviews</p>
</div>
</li>
<li>
<div className="icon">
<img src="assets/images/countries.png" alt="image" />
</div>
<div className="text">
<p><span className="counter-value" data-count="150">0</span><span>+</span></p>
<p>Countries</p>
<h3>Quick</h3>
<p>Schedule</p>
</div>
</li>
</ul>
@@ -230,7 +214,7 @@ const Main = ({brdcum}) => {
<div className="section_title">
<h2>Have any query about ?</h2>
<p>Lorem Ipsum is simply dummy text of the printing and typese tting <br/> indus orem Ipsum has beenthe standard dummy.</p>
<p>{queryDesc}</p>
</div>
<Link to="/contact" className="btn white_btn">CONTACT US NOW</Link>
</div>
+17 -21
View File
@@ -64,7 +64,9 @@ const Main = ({ brdcum }) => {
country: "",
}); //initial state values
const [countries, setCountries] = useState([]); // initial state for country dropdown
const [myData, setMyData] = useState(null);
// Gave a generic name for multiple calls
const API_CALL = new SiteService(); // instantiating the class
// API CALL
@@ -92,10 +94,10 @@ const Main = ({ brdcum }) => {
setMyData(contact);
// Checking for errors
if (contact?.data?.status < 1 || contact?.data?.message_id == "")
return (errText.textContent =
"unable to send your message, please try again");
else {
if (contact?.data?.status < 1 || contact?.data?.message_id == ""){
errText.textContent = "unable to send your message, please try again";
response.innerHTML = `<p> SEND MESSAGE </p>`;
}else {
response.innerHTML = `<p> SEND MESSAGE </p>`;
contact_body.innerHTML = `<div class='contact_body animate pop'>
@@ -105,24 +107,19 @@ const Main = ({ brdcum }) => {
setTimeout(() => {
navigate("/");
}, 10000);
setValues((prev) => ({ ...prev, [e.target.name]: "" }));
}
})
.catch((error) => {
errText.textContent = "unable to send your message, please try again"
console.log(error);
.catch(() => {
errText.textContent = "unable to send your message, please try again";
response.innerHTML = `<p> SEND MESSAGE </p>`;
});
};
//CALLS THE API AFTER COMPONENT LOADS
useEffect(() => {
allCountry().then((data) => setCountries(Object.keys(data.data))).catch((err)=>console.log(err.message));
allCountry().then((data) => setCountries(Object.entries(data.data))).catch((err)=>console.log(err.message));
}, []);
// useEffect(() => {
// myData
// }, [myData]);
return (
<>
@@ -222,17 +219,15 @@ const Main = ({ brdcum }) => {
value={values.country}
onChange={onChange}
required>
<option
value={""}
onCha>
<option value={""}>
Country
</option>
{countries.length > 0 &&
countries.map((country, index) => (
<option
key={index}
value={country}>
{country}
value={country[0]}>
{country[1]}
</option>
))}
</select>
@@ -255,7 +250,6 @@ const Main = ({ brdcum }) => {
className="form-control"
placeholder="Your message"
value={values.message}
errorMessage='words have exceeded 350 characters!'
onChange={onChange}
maxLength={300}
pattern="^[A-Za-z0-9]{5, 300}$"
@@ -283,7 +277,7 @@ const Main = ({ brdcum }) => {
</div>
</form>
{/* Error Tag */}
<p id="errText" />
<p id="errText"></p>
</div>
{/* Contact Info */}
@@ -355,7 +349,9 @@ const Main = ({ brdcum }) => {
</div>
</section>
<section className="row_am map_section">
<div className="container" />
<div className="container">
</div>
</section>
</>
);