Compare commits

..

1 Commits

Author SHA1 Message Date
Chukwumdiebube 4af750f7a7 Blog_API Change 2023-01-23 05:55:11 +01:00
26 changed files with 383 additions and 562 deletions
+1 -2
View File
@@ -6,8 +6,7 @@ REACT_APP_ANDROID_URL="https://play.google.com/store/apps/details?id=com.mermsem
REACT_APP_IOS_URL="https://play.google.com/store/apps/details?id=com.mermsemr.myfit"
REACT_APP_APPSITE="https://dev142.users.myfit.mermsemr.com/login"
# " https://mermsemr.com"
REACT_APP_APPSITE=" https://myfitapp.mermsemr.com"
#REACT_APP_APPSITE="http://localhost:7012"
# Social Media Links
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

+30 -31
View File
@@ -10,20 +10,15 @@ const Main = ({brdcum}) => {
const [ytShow , setytShow] = useState (false)
// About us text variables
let innovativeDesc = 'The team at myFit by Fluxtra LLC works with you to achieve your health objectives without getting in your way. Do your health your way to get the best result for you and your family. We are you, always ready and always engaged with the users to help get the best out of our solution.'
let innovativeDesc = 'The team at myFit by Flxuxtra LLC works with you to achieve your health objectives without getting in your way. Do your health your way to get the best result for you and your family. We are you, always ready and always engaged with the users to help get the best out of our solution.'
'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.',
secureDesc:"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.",
richFeaturesDesc: " Self-service & Scheduling, Tracking of health and fitness, Performance metrics. A more active, healthier interaction and improved quality of life.",
easeOfUseDesc:" MyFit keeps you connected to your health, a healthy partner for a healthy life. Measure and keep track of your health & awareness in one place.",
supportDesc:" myFit alerts you of irregular rhythms. You can connect with your health facilitator.",
title1: 'Secure',
title2: 'Rich Features',
title3: 'Ease of Use',
title4: 'Support'
}
let queryDesc = 'If you have an query, please get in touch with us, we will revert back quickly.'
return (
<>
@@ -120,7 +115,9 @@ const Main = ({brdcum}) => {
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title1}</h3>
<p> {whyWeAreDiff.secureDesc}</p>
<p>Lorem Ipsum is simply dummy text of the printing and type
setting indus ideas.
</p>
</div>
</div>
</div>
@@ -131,7 +128,7 @@ const Main = ({brdcum}) => {
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title2}</h3>
<p>{whyWeAreDiff.richFeaturesDesc}</p>
<p>Simply dummy text of the printing and typesetting indus lorem Ipsum is dummy.</p>
</div>
</div>
</div>
@@ -142,7 +139,9 @@ const Main = ({brdcum}) => {
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title3}</h3>
<p>{whyWeAreDiff.easeOfUseDesc}</p>
<p>Lorem Ipsum is simply dummy text of the printing and type
setting indus ideas.
</p>
</div>
</div>
</div>
@@ -153,7 +152,7 @@ const Main = ({brdcum}) => {
</div> */}
<div className="text">
<h3>{whyWeAreDiff.title4}</h3>
<p>{whyWeAreDiff.supportDesc}</p>
<p>Simply dummy text of the printing and typesetting indus lorem Ipsum is dummy.</p>
</div>
</div>
</div>
@@ -174,45 +173,45 @@ const Main = ({brdcum}) => {
<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>{innovativeDesc}</p>
<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>
</div>
<ul className="app_statstic" id="counter" data-aos="fade-in" data-aos-duration="1500">
<li>
{/* <div className="icon">
<div className="icon">
<img src="assets/images/download.png" alt="image" />
</div> */}
<div className="text">
<h3>Manage</h3>
<p>health plan</p>
</div>
<div className="text">
<p><span className="counter-value" data-count="17">0</span><span>M+</span></p>
<p>Download</p>
</div>
</li>
<li>
{/* <div className="icon">
<div className="icon">
<img src="assets/images/followers.png" alt="image" />
</div> */}
</div>
<div className="text">
<h3>Health Record</h3>
<p>with you</p>
<p><span className="counter-value" data-count="08">0 </span><span>M+</span></p>
<p>Followers</p>
</div>
</li>
<li>
{/* <div className="icon">
<div className="icon">
<img src="assets/images/reviews.png" alt="image" />
</div> */}
</div>
<div className="text">
<h3>Health</h3>
<p>reminders</p>
<p><span className="counter-value" data-count="2300">1500</span><span>+</span></p>
<p>Reviews</p>
</div>
</li>
<li>
{/* <div className="icon">
<div className="icon">
<img src="assets/images/countries.png" alt="image" />
</div> */}
</div>
<div className="text">
<h3>Quick</h3>
<p>Schedule</p>
<p><span className="counter-value" data-count="150">0</span><span>+</span></p>
<p>Countries</p>
</div>
</li>
</ul>
@@ -231,7 +230,7 @@ const Main = ({brdcum}) => {
<div className="section_title">
<h2>Have any query about ?</h2>
<p>{queryDesc}</p>
<p>Lorem Ipsum is simply dummy text of the printing and typese tting <br/> indus orem Ipsum has beenthe standard dummy.</p>
</div>
<Link to="/contact" className="btn white_btn">CONTACT US NOW</Link>
</div>
+136 -82
View File
@@ -1,45 +1,74 @@
/** @format */
import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import BGImg from "../../../assets/images/bread_crumb_bg.png";
import SiteService from "../../../vendors/service/siteService";
const Main = ({ brdcum, bgimg }) => {
const [blogData, setBlogData] = useState([]);
console.log(blogData);
const api = new SiteService();
let api = new SiteService();
useEffect(() => {
getBlogData();
}, []);
const getBlogData = async () => {
try {
const res = await api.blogData();
/*
The reason for this, is because of the breaking I had when building the blog
I decided to save to the local storage for an hour so that it won't need to be going to the server again but I can change this
*/
// Saving it locally to avoid interfering with server
if (localStorage.getItem("myFit--blogData") == null) {
try {
let res = await api.blogData();
setBlogData(res.data);
// console.log(res.data);
} catch (error) {
console.log("Error from blog data ", error);
// Set the blog data to local storage
localStorage.setItem("myFit--blogData", JSON.stringify(res.data));
setBlogData(res.data);
// Set a time out for the blog data to be deleted from local storage
setTimeout(() => {
localStorage.removeItem("myFit--blogData");
}, 3600000);
} catch (error) {
console.log("Error from blog data ", error);
}
} else {
try {
let data = JSON.parse(localStorage.getItem("myFit--blogData"));
setBlogData(data);
} catch (error) {
console.error("Error parsing JSON data: ", error);
}
}
};
return (
<>
<div className="bred_crumb" style={{ backgroundImage: `url(${BGImg})` }}>
<div
className="bred_crumb"
style={{ backgroundImage: `url(${BGImg})` }}>
<div className="container">
<span className="banner_shape1">
{" "}
<img src="assets/images/banner-shape1.png" alt="image" />{" "}
<img
src="assets/images/banner-shape1.png"
alt="image"
/>{" "}
</span>
<span className="banner_shape2">
{" "}
<img src="assets/images/banner-shape2.png" alt="image" />{" "}
<img
src="assets/images/banner-shape2.png"
alt="image"
/>{" "}
</span>
<span className="banner_shape3">
{" "}
<img src="assets/images/banner-shape3.png" alt="image" />{" "}
<img
src="assets/images/banner-shape3.png"
alt="image"
/>{" "}
</span>
<div className="bred_text">
@@ -52,97 +81,122 @@ const Main = ({ brdcum, bgimg }) => {
<span>»</span>
</li>
<li>
<Link to="/blog">Blog</Link>
<Link to="/blog">
{blogData.map((item, idx) => {
if (idx === 0) {
return <span>{item.post_title}</span>;
}
})}
</Link>
</li>
</ul>
{/* <div className="search_bar">
<form action="">
<div className="form-group">
<input type="text" placeholder="Search here" className="form-control"/>
<button className="btn" type="submit"><i className="icofont-search-1"></i></button>
</div>
</form>
</div>*/}
</div>
</div>
</div>
<section className="row_am blog_list_main">
{blogData.map((data,index) => {
if (index == 0){
{blogData.length < 1 && (
<div
className="loader loader-sm"
id="loader-1"></div>
)}
{blogData.map((data, index) => {
if (index == 0) {
return (
<div className="container">
<div className="row">
<div
className="col-lg-6"
data-aos="fade-in"
data-aos-duration="1500"
>
<div className="blog_img">
<img
src={data.meta_value}
alt="image"
/>
{/* <span>20 min ago</span> */}
<span>{new Date (data.post_date).toDateString()}</span>
<div
className="container"
key={data.id}>
<div className="row">
<div
className="col-lg-6"
data-aos="fade-in"
data-aos-duration="1500">
<div className="blog_img">
<img
src={data.meta_value}
alt="image"
/>
<span>{new Date(data.post_date).toDateString()}</span>
</div>
</div>
</div>
<div className="col-lg-6">
<div className="blog_text">
<div className="section_title">
<h2>{data.post_title}</h2>
<div dangerouslySetInnerHTML={{__html: data.post_content.substring(0,400)+' . . .'}}></div>
{/* <Link to={`/blog-single/${data.id}`} state={{data}}>
<div className="col-lg-6">
<div className="blog_text">
<div className="section_title">
<h2>{data.post_title}</h2>
<div
dangerouslySetInnerHTML={{
__html:
data.post_content.substring(0, 400) + " . . .",
}}></div>
{/* Change the route name */}
<Link
to={`/blogdetails/${data.id}`}
state={{ data }}>
READ MORE
</Link> */}
<Link to={`/blogdetails/${data.id}`} state={{data, allData: blogData}}>
READ MORE
</Link>
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
)
}
);
}
})}
</section>
<section className="row_am latest_story blog_list_story" id="blog">
<section
className="row_am latest_story blog_list_story"
id="blog">
<div className="container">
<div className="row">
{blogData.map((data, index) => {
if (index > 0){
if (index > 0) {
return (
<div key={data.id} className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img">
<img src={data.meta_value} alt="image" />
<span>{new Date (data && data.post_date).toDateString()}</span>
<div
key={data.id}
className="col-md-4">
<div
className="story_box"
data-aos="fade-up"
data-aos-duration="1500">
<div className="story_img">
<img
src={data.meta_value}
alt="image"
/>
<span>
{new Date(data && data.post_date).toDateString()}
</span>
</div>
<div className="story_text">
<h3>{data.post_title}</h3>
<div
dangerouslySetInnerHTML={{
__html:
data &&
data.post_content.substring(0, 100) + " . . .",
}}></div>
{/* Change the route name */}
<Link
to={`/blogdetails/${data.id}`}
state={{ data }}>
READ MORE
</Link>
</div>
</div>
</div>
<div className="story_text">
<h3>{data.post_title}</h3>
<div dangerouslySetInnerHTML={{__html: data && data.post_content.substring(0,100)+' . . .'}}></div>
<Link to={`/blogdetails/${data.id}`} state={{data, allData: blogData}}>
READ MORE
</Link>
</div>
</div>
</div>
)}
})}
);
}
})}
</div>
<div className="pagination_block">
<ul>
<li>
<Link to={process.env.REACT_APP_BLOGSITE}
className="prev">
<Link
to={process.env.REACT_APP_BLOGSITE}
className="prev">
{" "}
Visit our blog
</Link>
+153 -305
View File
@@ -1,333 +1,181 @@
/** @format */
import React, { useEffect, useState } from "react";
import { Link, useLocation } from 'react-router-dom'
import Bredcrumb from '../../Bredcrumb/Main'
import BGImg from "../../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png"
import { useParams } from "react-router-dom";
import { Link, useLocation } from "react-router-dom";
import Bredcrumb from "../../Bredcrumb/Main";
import BGImg from "../../../assets/images/bread_crumb_bg.png";
import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png";
import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png";
import SiteService from "../../../vendors/service/siteService";
const Main = ({ brdcum }) => {
const location = useLocation();
let data = location.state?.data;
const [blogData, setBlogData] = useState([]);
const Main = ({brdcum}) => {
const { id } = useParams();
const location = useLocation();
const [blogData, setBlogData] = useState([]);
const [newAllData, setNewAllData] = useState([]);
let api_call = new SiteService();
useEffect(() => {
getBlogData();
getLatestBlog();
}, [location.state?.data]);
const api = new SiteService();
const data = location.state?.data;
const allData = location.state?.allData;
const getLatestBlog = () =>{
const arrData = [ ...allData ];
const itemIndex = arrData.findIndex(x => x.id === data.id)
arrData.splice(itemIndex, 1);
const newAllData = arrData.splice(0, 3);
setNewAllData(newAllData);
console.log('All data ', arrData, newAllData);
}
}, [blogData]);
const getBlogData = async () => {
try {
const res = await api.blogData();
setBlogData(res.data);
} catch (error) {
console.log("Error from blog data ", error);
}
};
try {
let res = await api_call.blogData();
setBlogData(res.data);
} catch (error) {
console.log("Error from blog data ", error);
}
};
return (
<>
{brdcum.b1 &&
<Bredcrumb
no={1}
title="Blog details"
tag="Blog single"
bgimg={BGImg}/>}
{brdcum.b1 && (
<Bredcrumb
no={1}
title="Blog details"
tag={data && data.post_title}
bgimg={BGImg}
/>
)}
{brdcum.b2 &&
<Bredcrumb
no={2}
title="Blog details"
tag="Blog single"
bgimg={BGImg1}/>}
{brdcum.b2 && (
<Bredcrumb
no={2}
title="Blog details"
tag={data && data.post_title}
bgimg={BGImg1}
/>
)}
{brdcum.b5 &&
<Bredcrumb
no={5}
title="Blog details"
tag="Blog single"
bgimg={BGImg}/>}
{brdcum.b5 && (
<Bredcrumb
no={5}
title="Blog details"
tag={data && data.post_title}
bgimg={BGImg}
/>
)}
{brdcum.b3 &&
<Bredcrumb
no={3}
title="Blog details"
tag="Blog single" />}
{brdcum.b3 && (
<Bredcrumb
no={3}
title="Blog details"
tag={data && data.post_title}
/>
)}
{brdcum.b4 &&
<Bredcrumb
no={4}
title="Blog details"
tag="Blog single"
bgimg={BGImg2}/>}
{brdcum.b4 && (
<Bredcrumb
no={4}
title="Blog details"
tag={data && data.post_title}
bgimg={BGImg2}
/>
)}
<section className="blog_detail_section">
<div className="container">
<div className="blog_inner_pannel">
<div className="review">
<span>Review</span>
{/* <span>45 min ago</span> */}
<span>{new Date (data && data.post_modified).toDateString()}</span>
<section className="blog_detail_section">
<div className="container">
<div className="blog_inner_pannel">
<span className="blog_date">
{new Date(data && data.post_modified).toDateString()}
</span>
</div>
<div className="section_title">
<h2>{data && data.post_title}</h2>
</div>
<div className="main_img">
<img src={data && data.meta_value} alt="image" />
</div>
<div className="info">
<h3>{data && data.post_name}</h3>
<div dangerouslySetInnerHTML={{__html: data && data.post_content}}></div>
</div>
{/* <div className="info">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic Lorem Ipsum is simply dummy text of the printing and typesettingindustry lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived.</p>
<p>Printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the 1500s, when an unnown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic Lorem Ipsum is simply dummy text of the printing and typesettingindustry lorem Ipsum has been the industrys centuries, but also the leap into electronic.</p>
<h3>Why we are best</h3>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic.</p>
<ul>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Lorem Ipsum is simply dummy text of the printing and typesetting in </p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Dustry lorem Ipsum has been the industrys standard dummy text ev er since the when</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Unknown printer took a galley of type and scrambled it to make.</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Type specimen book. It has survived not only five centuries, but also the leap into electronic.</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Lorem Ipsum is simply dummy text of the printing.</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Dustry lorem Ipsum has been the industrys standard dummy text ev er since.</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Unknown printer took a galley of type and scrambled it to make.</p></li>
<li><p> <span className="icon"><i className="icofont-check-circled"></i></span> Type specimen book. It has survived not only.</p></li>
</ul>
</div>
<div className="two_img">
<div className="row">
<div className="col-md-6">
<img src="assets/images/blog_sub_01.png" alt="image" />
</div>
<div className="col-md-6">
<img src="assets/images/blog_sub_02.png" alt="image" />
</div>
</div>
</div>
<div className="info">
<h3>Why we are best</h3>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic Lorem Ipsum is simply dummy text of the printing and typesettingindustry lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived.</p>
</div>
<div className="quote_block">
<span className="q_icon"><img src="assets/images/quote_icon.png" alt="image" /></span>
<h2>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy.</h2>
<p><span className="name">Mr. John Doe,</span> Apper Inc</p>
</div> */}
{/* <p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic industry.</p> */}
<div className="blog_authore">
<div className="authore_info">
{/* <div className="avtar">
<img src="assets/images/blog_d02.png" alt="image" />
</div> */}
<div className="text">
<h3>{data && data.post_author}</h3>
<span>{new Date (data && data.post_date).toDateString()}</span>
</div>
</div>
<div className="social_media">
<ul>
<li>
<a href={process.env.REACT_APP_FACEBOOK}>
<i className="icofont-facebook"></i>
</a>
</li>
<li>
<a href={process.env.REACT_APP_TWITTER}>
<i className="icofont-twitter"></i>
</a>
</li>
</ul>
</div>
</div>
<div className="blog_tags">
<a href={process.env.REACT_APP_BLOGSITE}>Visit Blog Site </a>
</div>
</div>
<div className="section_title">
<h2>{data && data.post_title}</h2>
</div>
<div className="main_img">
<img
src={data && data.meta_value}
alt="image"
/>
</div>
<div className="info">
<h3>{data && data.post_name}</h3>
<div
dangerouslySetInnerHTML={{
__html: data && data.post_content,
}}></div>
</div>
</section>
{/* <section className="row_am comment_section">
<div className="container">
<div className="section_title">
<h2>3 Comments</h2>
<div className="blog_authore">
<div className="authore_info">
<div className="text">
{/* <h3>{data && data.post_author}</h3> */}
<span>{new Date(data && data.post_date).toDateString()}</span>
</div>
</div>
<div className="social_media">
<ul>
<li>
<div className="authore_info">
<div className="avtar">
<img src="assets/images/blog_d01.png" alt="image" />
</div>
<div className="text">
<span>30 min ago</span>
<h4>Dolly Shell</h4>
</div>
</div>
<div className="comment">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the in
dustrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen. </p>
</div>
</li>
<li className="replay_comment">
<div className="authore_info">
<div className="avtar">
<img src="assets/images/blog_d02.png" alt="image" />
</div>
<div className="text">
<span>15 min ago</span>
<h4>Devil Joe</h4>
</div>
</div>
<div className="comment">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the industrys standard dummy text ev er since the when.</p>
</div>
</li>
<li>
<div className="authore_info">
<div className="avtar">
<img src="assets/images/blog_d03.png" alt="image" />
</div>
<div className="text">
<span>2 days ago</span>
<h4>Sherly Shie</h4>
</div>
</div>
<div className="comment">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting in dustry lorem Ipsum has been the in
dustrys standard dummy text ev er since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen. </p>
</div>
</li>
<li>
<a href={process.env.REACT_APP_FACEBOOK}>
<i className="icofont-facebook"></i>
</a>
</li>
<li>
<a href={process.env.REACT_APP_TWITTER}>
<i className="icofont-twitter"></i>
</a>
</li>
</ul>
</div>
</div>
</section>
<section className="row_am comment_form_section">
<div className="container">
<div className="section_title">
<h2>Leave a <span>comment</span></h2>
<p>Your email address will not be published. Required fields are marked *</p>
</div>
<form action="">
<div className="row">
<div className="col-md-6">
<div className="form-group">
<input type="text" className="form-control" placeholder="Name *" />
</div>
</div>
<div className="col-md-6">
<div className="form-group">
<input type="email" className="form-control" placeholder="Email *" />
</div>
</div>
<div className="col-md-6">
<div className="form-group">
<input type="text" className="form-control" placeholder="Phone" />
</div>
</div>
<div className="col-md-6">
<div className="form-group">
<input type="text" className="form-control" placeholder="Website " />
</div>
</div>
<div className="col-md-12">
<div className="form-group">
<textarea className="form-control" placeholder="Comments"></textarea>
</div>
</div>
<div className="col-md-12 text-center">
<button className="btn puprple_btn" type="submit">POST COMMENTS</button>
</div>
</div>
</form>
<div className="blog_tags">
<a href={process.env.REACT_APP_BLOGSITE}>Visit Blog Site </a>
</div>
</section> */}
</div>
</div>
</section>
<section className="row_am latest_story" id="blog">
<div className="container">
<div className="section_title" data-aos="fade-in" data-aos-duration="1500" data-aos-delay="100">
<h2>Read latest <span>story</span></h2>
<p>Lorem Ipsum is simply dummy text of the printing and typese tting <br/> indus orem Ipsum has beenthe standard dummy.</p>
<section
className="row_am latest_story"
id="blog">
<div className="container">
{/* Latest Title */}
<div
className="section_title"
data-aos="fade-in"
data-aos-duration="1500"
data-aos-delay="100">
<h2>
Read latest <span>story</span>
</h2>
<br />
</div>
{/* Body */}
<div className="row">
{blogData.slice(-4, -1).map((item, index) => (
<div
className="col-md-4"
key={index}>
<div
className="story_box"
data-aos="fade-up"
data-aos-duration="1500">
<div className="story_img">
<img
src={item.meta_value}
alt="image"
/>
<span>{new Date(item.post_date).toDateString()}</span>
</div>
<div className="story_text">
<h3>{item.post_title}</h3>
<div
dangerouslySetInnerHTML={{
__html: item.post_content.substring(0, 100) + " . . .",
}}></div>
<Link to={`/blogdetails/${item.id}`}>READ MORE</Link>
</div>
</div>
<div className="row">
{newAllData.map((data) => {
return (
<div className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img">
<img src={data.meta_value} alt="image" />
<span>45 min ago</span>
</div>
<div className="story_text">
<h3>{data.post_title}</h3>
<div dangerouslySetInnerHTML={{__html: data.post_content.substring(0,300)+' . . .'}}></div>
{/* <Link to={`/blog-single/${data.id}`} state={{data}}>
READ MORE
</Link> */}
<Link to={`/blogdetails/${data.id}`} state={{data, allData: blogData}}>
READ MORE
</Link>
</div>
</div>
</div>
)})}
{/* <div className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img">
<img src="assets/images/story02.png" alt="image" />
<span>45 min ago</span>
</div>
<div className="story_text">
<h3>Top rated app! Yupp.</h3>
<p>Simply dummy text of the printing and typesetting industry lorem Ipsum has Lorem Ipsum is.</p>
<Link to="#">READ MORE</Link>
</div>
</div>
</div>
<div className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img">
<img src="assets/images/story03.png" alt="image" />
<span>45 min ago</span>
</div>
<div className="story_text">
<h3>Creative ideas on app.</h3>
<p>Printing and typesetting industry lorem Ipsum has Lorem simply dummy text of the.</p>
<Link to="#">READ MORE</Link>
</div>
</div>
</div> */}
</div>
</div>
</section>
</div>
))}
</div>
</div>
</section>
</>
)
}
);
};
export default Main
export default Main;
+5 -5
View File
@@ -19,7 +19,7 @@ const Main = ({title,tag,bgimg,paragraph,no}) => {
<ul>
<li><Link to="/">Home</Link></li>
<li><span>»</span></li>
<li><Link to="#">{tag}</Link></li>
<li><Link to="/about">{tag}</Link></li>
</ul>
</div>
</div>
@@ -39,7 +39,7 @@ const Main = ({title,tag,bgimg,paragraph,no}) => {
<ul>
<li><Link to="/">Home</Link></li>
<li><span>»</span></li>
<li><Link to="#">{tag}</Link></li>
<li><Link to="/about">{tag}</Link></li>
</ul>
</div>
</div>
@@ -58,7 +58,7 @@ const Main = ({title,tag,bgimg,paragraph,no}) => {
<ul>
<li><Link to="/">Home</Link></li>
<li><span>»</span></li>
<li><Link to="#">{tag}</Link></li>
<li><Link to="/about">{tag}</Link></li>
</ul>
</div>
</div>
@@ -77,7 +77,7 @@ const Main = ({title,tag,bgimg,paragraph,no}) => {
<ul>
<li><Link to="/">Home</Link></li>
<li><span>»</span></li>
<li><Link to="#">{tag}</Link></li>
<li><Link to="/about">{tag}</Link></li>
</ul>
</div>
</div>
@@ -96,7 +96,7 @@ const Main = ({title,tag,bgimg,paragraph,no}) => {
<ul>
<li><Link to="/">Home</Link></li>
<li><span>»</span></li>
<li><Link to="#">{tag}</Link></li>
<li><Link to="/about">{tag}</Link></li>
</ul>
</div>
</div>
+24 -21
View File
@@ -64,9 +64,7 @@ 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
@@ -94,10 +92,10 @@ const Main = ({ brdcum }) => {
setMyData(contact);
// Checking for errors
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 {
if (contact?.data?.status < 1 || contact?.data?.message_id == "")
return (errText.textContent =
"unable to send your message, please try able");
else {
response.innerHTML = `<p> SEND MESSAGE </p>`;
contact_body.innerHTML = `<div class='contact_body animate pop'>
@@ -107,19 +105,23 @@ const Main = ({ brdcum }) => {
setTimeout(() => {
navigate("/");
}, 10000);
setValues((prev) => ({ ...prev, [e.target.name]: "" }));
}
})
.catch(() => {
errText.textContent = "unable to send your message, please try again";
response.innerHTML = `<p> SEND MESSAGE </p>`;
.catch((error) => {
console.log(error);
});
};
//CALLS THE API AFTER COMPONENT LOADS
useEffect(() => {
allCountry().then((data) => setCountries(Object.entries(data.data))).catch((err)=>console.log(err.message));
allCountry().then((data) => setCountries(Object.values(data.data)));
}, []);
useEffect(() => {
myData
}, [myData]);
return (
<>
@@ -193,12 +195,12 @@ const Main = ({ brdcum }) => {
name="name"
type="text"
placeholder="Name"
errorMessage="Please enter your first and last name. (e.g: Mark John)"
errorMessage="Please enter your name"
required={true}
maxLenght={35}
value={values.name}
onChange={onChange}
pattern="^\w+( \w+)$"
pattern="^[A-Za-z]{1,35}$"
/>
<FormInput
@@ -219,15 +221,17 @@ const Main = ({ brdcum }) => {
value={values.country}
onChange={onChange}
required>
<option value={""}>
<option
value={""}
onCha>
Country
</option>
{countries.length > 0 &&
countries.map((country, index) => (
<option
key={index}
value={country[0]}>
{country[1]}
value={country}>
{country}
</option>
))}
</select>
@@ -246,10 +250,11 @@ const Main = ({ brdcum }) => {
<div className="form-group">
<textarea
name="message"
name="msg"
className="form-control"
placeholder="Your message"
value={values.message}
value={values.msg}
errorMessage='words have exceeded 350 characters!'
onChange={onChange}
maxLength={300}
pattern="^[A-Za-z0-9]{5, 300}$"
@@ -277,7 +282,7 @@ const Main = ({ brdcum }) => {
</div>
</form>
{/* Error Tag */}
<p id="errText"></p>
<p id="errText" />
</div>
{/* Contact Info */}
@@ -349,9 +354,7 @@ const Main = ({ brdcum }) => {
</div>
</section>
<section className="row_am map_section">
<div className="container">
</div>
<div className="container" />
</section>
</>
);
+5 -6
View File
@@ -1,5 +1,4 @@
import { Link } from "react-router-dom";
import { HashLink } from 'react-router-hash-link';
import React from "react";
import line from "../../assets/images/anim_line.png";
import blueapp from "../../assets/images/appstore_blue.png";
@@ -101,7 +100,7 @@ const Main = ({ footer }) => {
<Link to="/faq">FAQs</Link>
</li>
<li>
<HashLink to="/#how_it_work">How it works</HashLink>
<Link to="/how_it_work">How it works</Link>
</li>
<li>
<Link to="/terms">Terms & conditions</Link>
@@ -238,7 +237,7 @@ const Main = ({ footer }) => {
<Link to="/faq">FAQs</Link>
</li>
<li>
<HashLink to="/#how_it_work">How it works</HashLink>
<Link to="/how_it_work">How it works</Link>
</li>
<li>
<Link to="/terms">Terms & conditions</Link>
@@ -368,7 +367,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link>
</li>
<li>
<HashLink to="/#how_it_work">How it works</HashLink>
<Link to="/how_it_work">How it works</Link>
</li>
<li>
<Link to="/terms">Terms & conditions</Link>
@@ -493,7 +492,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link>
</li>
<li>
<HashLink to="/#how_it_work">How it works</HashLink>
<Link to="/how_it_work">How it works</Link>
</li>
<li>
<Link to="/terms">Terms & conditions</Link>
@@ -625,7 +624,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link>
</li>
<li>
<HashLink to="/#how_it_work">How it works</HashLink>
<Link to="/how_it_work">How it works</Link>
</li>
<li>
<Link to="/terms">Terms & conditions</Link>
+1 -19
View File
@@ -103,22 +103,6 @@ const Main = ({ setfooter, setnavbar, setbrdcum }) => {
</p>
</div>
<ul className="app_btn">
<li>
<a href={process.env.REACT_APP_ANDROID_URL}>
<img src={blueapp} alt="image" />
<img className="white_img" src={whiteapp} alt="image" />
</a>
</li>
<li>
<a href={process.env.REACT_APP_IOS_URL}>
<img src={blue} alt="image" />
<img className="white_img" src={white} alt="image" />
</a>
</li>
</ul>
{/* <ul className="app_btn">
<li>
<Link to="https://play.google.com/store/apps/details?id=com.mermsemr.myfit">
<img className="blue_img" src={blueapp} alt="image" />
@@ -131,9 +115,7 @@ const Main = ({ setfooter, setnavbar, setbrdcum }) => {
<img className="white_img" src={white} alt="image" />
</Link>
</li>
</ul> */}
</ul>
</div>
<div
className="col-lg-6 col-md-12"
+8 -56
View File
@@ -1,68 +1,20 @@
import React, { useEffect, useState } from "react";
import { Link } from 'react-router-dom';
// import story1 from '../../../assets/images/story01.png';
// import story2 from '../../../assets/images/story02.png';
// import story3 from '../../../assets/images/story03.png';
import SiteService from "../../../vendors/service/siteService";
import { Link } from 'react-router-dom'
import React from 'react'
import story1 from '../../../assets/images/story01.png'
import story2 from '../../../assets/images/story02.png'
import story3 from '../../../assets/images/story03.png'
const Main = () => {
const [blogData, setBlogData] = useState([]);
let api = new SiteService();
useEffect(() => {
getBlogData();
}, []);
const getBlogData = async () => {
try {
let res = await api.blogData();
setBlogData(res.data);
} catch (error) {
console.log("Error from blog data ", error);
}
};
return (
<>
<section className="row_am latest_story" id="blog">
<div className="container">
<div className="section_title" data-aos="fade-in" data-aos-duration="1500" data-aos-delay="100">
<h2>Read latest <span>story</span></h2>
<p>Lorem Ipsum is simply dummy text of the printing and typese tting <br/> indus orem Ipsum has beenthe standard dummy.</p>
</div>
<div className="row">
{blogData.slice(1, 4).map((data, index) => (
<div
className="col-md-4"
key={index}>
<div
className="story_box"
data-aos="fade-up"
data-aos-duration="1500">
<div className="story_img">
<img
src={data.meta_value}
alt="image"
/>
<span>{new Date(data.post_date).toDateString()}</span>
</div>
<div className="story_text">
<h3>{data.post_title}</h3>
<div
dangerouslySetInnerHTML={{
__html: data.post_content.substring(0, 100) + " . . .",
}}></div>
<Link to={`/blogdetails/${data.id}`} state={{data, allData: blogData}}>
READ MORE
</Link>
{/* <Link to={`/blogdetails/${item.id}`}>READ MORE</Link> */}
</div>
</div>
</div>
))}
{/* <div className="col-md-4">
<div className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img">
<img src={story1} alt="image" />
@@ -101,7 +53,7 @@ const Main = () => {
<Link to="/blog-single">READ MORE</Link>
</div>
</div>
</div> */}
</div>
</div>
</div>
</section>
+4 -4
View File
@@ -1,8 +1,8 @@
import React , {useState} from 'react'
import { Link } from 'react-router-dom'
import img from '../../../assets/images/appdownload.png'
import img from '../../../assets/images/download_app1.png'
import img1 from '../../../assets/images/create_account2.png'
import img2 from '../../../assets/images/download_app1.png'
import img2 from '../../../assets/images/enjoy_app01.png'
import line from '../../../assets/images/anim_line.png'
import banner from '../../../assets/images/banner-shape1.png'
import banner1 from '../../../assets/images/banner-shape2.png'
@@ -28,8 +28,8 @@ const Main = ({dark}) => {
<div className="step_text" data-aos="fade-right" data-aos-duration="1500">
<h4>Download app</h4>
<div className="app_icon">
<a href={process.env.REACT_APP_ANDROID_URL}><i className="icofont-brand-android-robot"></i></a>
<a href={process.env.REACT_APP_IOS_URL}><i className="icofont-brand-apple"></i></a>
<Link to={process.env.REACT_APP_ANDROID_URL}><i className="icofont-brand-android-robot"></i></Link>
<Link to={process.env.REACT_APP_IOS_URL}><i className="icofont-brand-apple"></i></Link>
</div>
<p>Download App either for Mac or Android</p>
</div>
+2 -2
View File
@@ -55,7 +55,7 @@ const Main = ({navbar}) => {
<Link to="/contact" className="nav-link" >Contact</Link>
</li>
<li className="nav-item">
<a href={process.env.REACT_APP_APPSITE} className="nav-link dark_btn">GET STARTED</a>
<Link to={process.env.REACT_APP_APPSITE} className="nav-link dark_btn">GET STARTED</Link>
</li>
</ul>
</div>
@@ -134,7 +134,7 @@ const Main = ({navbar}) => {
<Link smooth to="/#features" className="nav-link">Features</Link>
</li>
<li className="nav-item">
<Link smooth to="/#how_it_work" className="nav-link">How it works</Link>
<Link smooth to="#how_it_work" className="nav-link">How it works</Link>
</li>
<li className="nav-item" >
<Link to="/blog" className="nav-link">Blog</Link>
+6 -12
View File
@@ -7,8 +7,6 @@ import BGImg from "../../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png"
import Faq from '../../HomeMain/Faq/Main'
import screen from '../../../assets/images/download-screen01.png'
import screen1 from '../../../assets/images/download-screen02.png'
import SiteService from '../../../vendors/service/siteService'
@@ -33,7 +31,7 @@ const Main = ({brdcum}) => {
<Bredcrumb
no={1}
title="Have questions? look here"
paragraph="Learn more about myFit through answers to frequently asked questions."
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting"
tag="Faq"
bgimg={BGImg}/>}
@@ -41,7 +39,7 @@ const Main = ({brdcum}) => {
<Bredcrumb
no={2}
title="Have questions? look here"
paragraph="Learn more about myFit through answers to frequently asked questions."
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting"
tag="Faq"
bgimg={BGImg1}/>}
@@ -49,7 +47,7 @@ const Main = ({brdcum}) => {
<Bredcrumb
no={5}
title="Have questions? look here"
paragraph="Learn more about myFit through answers to frequently asked questions."
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting"
tag="Faq"
bgimg={BGImg}/>}
@@ -57,14 +55,14 @@ const Main = ({brdcum}) => {
<Bredcrumb
no={3}
title="Have questions? look here"
paragraph="Learn more about myFit through answers to frequently asked questions."
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting"
tag="Faq" />}
{brdcum.b4 &&
<Bredcrumb
no={4}
title="Have questions? look here"
paragraph="Learn more about myFit through answers to frequently asked questions."
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting"
tag="Faq"
bgimg={BGImg2}/>}
@@ -244,13 +242,9 @@ const Main = ({brdcum}) => {
</div>
</div>
<div className="col-md-6">
{/* <div className="free_img">
<div className="free_img">
<img src="assets/images/download-screen01.png" alt="image" />
<img className="mobile_mockup" src="assets/images/download-screen02.png" alt="image" />
</div> */}
<div className="free_img">
<img src={screen} alt="image" />
<img className="mobile_mockup" src={screen1} alt="image" />
</div>
</div>
</div>
+1 -7
View File
@@ -4,8 +4,6 @@ import Bredcrumb from '../../Bredcrumb/Main'
import BGImg from "../../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png"
import screen from '../../../assets/images/download-screen01.png'
import screen1 from '../../../assets/images/download-screen02.png'
const Main = ({brdcum}) => {
@@ -345,13 +343,9 @@ const Main = ({brdcum}) => {
</div>
</div>
<div className="col-md-6">
{/* <div className="free_img">
<div className="free_img">
<img src="assets/images/download-screen01.png" alt="image" />
<img className="mobile_mockup" src="assets/images/download-screen02.png" alt="image" />
</div> */}
<div className="free_img">
<img src={screen} alt="image" />
<img className="mobile_mockup" src={screen1} alt="image" />
</div>
</div>
</div>
+3 -8
View File
@@ -6,11 +6,6 @@ import Bredcrumb from '../Bredcrumb/Main'
import BGImg from "../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../assets/images/bread_crumb_bg_two.png"
import blueapp from "../../assets/images/appstore_blue.png";
import blue from "../../assets/images/googleplay_blue.png";
import screen from '../../assets/images/download-screen01.png'
import screen1 from '../../assets/images/download-screen02.png'
const Main = ({brdcum}) => {
@@ -232,9 +227,9 @@ const Main = ({brdcum}) => {
</div>
</div>
<div className="col-md-6">
<div className="free_img">
<img src={screen} alt="image" />
<img className="mobile_mockup" src={screen1} alt="image" />
<div className="free_img">
<img src="assets/images/download-screen01.png" alt="image" />
<img className="mobile_mockup" src="assets/images/download-screen02.png" alt="image" />
</div>
</div>
</div>
+2
View File
@@ -3,6 +3,7 @@ import { Route, Routes, useLocation } from "react-router-dom";
import Navbar from "../component/Navbar/Main";
import Footer from "../component/Footer/Main";
import Home from "../component/Home/Main";
import Work from "../component/HomeMain/Work/Main"
import AboutUs from "../component/AboutUs/Main";
import Review from "../component/Pages/Review/Main";
import Contact from "../component/Contact/Main";
@@ -88,6 +89,7 @@ const Routing = () => {
<Route path="/blogdetails/:id" element={<BlogSingle brdcum={brdcum} />} />
<Route path="/terms" element={<Terms brdcum={brdcum} />} />
<Route path="/privacy" element={<Privacy brdcum={brdcum} />} />
<Route path="/how_it_work" element={<Work brdcum={brdcum} />} />
</Routes>
{footerpage && <Footer footer={footer} />}
+2 -2
View File
@@ -16,8 +16,8 @@ class SiteService {
}
// Contact Data{POST}
contactData(value) {
return this.postAuxEnd("/contact", value)
contactData() {
return this.postAuxEnd("/contact", null)
}
faqData() {