Compare commits

..

1 Commits

Author SHA1 Message Date
ChineseChikki bef973023b broken navBar fixed 2023-01-21 08:10:34 +01:00
11 changed files with 449 additions and 497 deletions
+3 -5
View File
@@ -5,14 +5,12 @@ REACT_APP_YEAR=2023
REACT_APP_ANDROID_URL="https://play.google.com/store/apps/details?id=com.mermsemr.myfit" REACT_APP_ANDROID_URL="https://play.google.com/store/apps/details?id=com.mermsemr.myfit"
REACT_APP_IOS_URL="https://play.google.com/store/apps/details?id=com.mermsemr.myfit" REACT_APP_IOS_URL="https://play.google.com/store/apps/details?id=com.mermsemr.myfit"
REACT_APP_APPSITE=" https://mermsemr.com"
#REACT_APP_APPSITE="http://localhost:7012"
# Social Media Links
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246" REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
REACT_APP_TWITTER="https://twitter.com/fluxtra" REACT_APP_TWITTER="https://twitter.com/fluxtra"
REACT_APP_APPSITE=" https://myfitapp.mermsemr.com"
#REACT_APP_APPSITE="http://localhost:7012"
REACT_APP_AUX_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfit" REACT_APP_AUX_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfit"
REACT_APP_FORM_TIMEOUT = 10000 REACT_APP_FORM_TIMEOUT = 10000
+41 -96
View File
@@ -3008,17 +3008,11 @@ header.fix_style.white_header {
margin-bottom: 15px; margin-bottom: 15px;
} }
.blog_detail_section .blog_inner_pannel span.blog_date { .blog_detail_section .blog_inner_pannel .review span {
line-height: 1; line-height: 1;
color: var(--purple);
display: flex;
font-weight: 700;
text-align: center;
justify-content: center;
align-items: center;
} }
/* .blog_detail_section .blog_inner_pannel .review span:first-child { .blog_detail_section .blog_inner_pannel .review span:first-child {
color: var(--purple); color: var(--purple);
display: inline-block; display: inline-block;
font-weight: 700; font-weight: 700;
@@ -3030,7 +3024,7 @@ header.fix_style.white_header {
margin-left: 15px; margin-left: 15px;
padding-left: 15px; padding-left: 15px;
border-left: 1px solid var(--dark-purple); border-left: 1px solid var(--dark-purple);
} */ }
.blog_detail_section .blog_inner_pannel .section_title { .blog_detail_section .blog_inner_pannel .section_title {
margin-bottom: 40px; margin-bottom: 40px;
@@ -3049,29 +3043,29 @@ header.fix_style.white_header {
} }
.blog_detail_section .blog_inner_pannel .info h3 { .blog_detail_section .blog_inner_pannel .info h3 {
font-weight: 700; font-weight: 700;
color: var(--dark-purple); color: var(--dark-purple);
margin-top: 30px; margin-top: 30px;
font-size: 25px; font-size: 25px;
margin-bottom: 15px; margin-bottom: 15px;
} }
/* To highlight the link in the terms section */ /* To highlight the link in the terms section */
.blog_detail_section .blog_inner_pannel .info p span a { .blog_detail_section .blog_inner_pannel .info p span a{
color: var(--dark-purple); color: var(--dark-purple);
text-decoration: underline; text-decoration: underline;
} }
/* To reduce the fonts for sub-headers */ /* To reduce the fonts for sub-headers */
.blog_detail_section .blog_inner_pannel .info h4 { .blog_detail_section .blog_inner_pannel .info h4 {
font-weight: 700; font-weight: 700;
color: var(--dark-purple); color: var(--dark-purple);
margin-top: 30px; margin-top: 30px;
font-size: 20px; font-size: 20px;
margin-bottom: 15px; margin-bottom: 15px;
} }
/* To align the text for proper readability */ /* To align the text for proper readability */
.blog_detail_section .blog_inner_pannel .info p { .blog_detail_section .blog_inner_pannel .info p {
text-align: justify; text-align: justify;
} }
@@ -3532,71 +3526,39 @@ header.fix_style.white_header {
} }
/* Textarea scrollbar */ /* Textarea scrollbar */
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group textarea::-webkit-scrollbar {
.contact_inner
.contact_form
form
.form-group
textarea::-webkit-scrollbar {
width: 12px; width: 12px;
cursor: pointer; cursor: pointer;
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group textarea::-webkit-scrollbar-track {
.contact_inner -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
.contact_form
form
.form-group
textarea::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px; border-radius: 10px;
background-color: var(--light-bg); background-color: var(--light-bg);
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group textarea::-webkit-scrollbar-thumb {
.contact_inner
.contact_form
form
.form-group
textarea::-webkit-scrollbar-thumb {
border-radius: 10px; border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
background-color: var(--body-text-purple); background-color: var(--body-text-purple);
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group .contact_btn{
.contact_inner
.contact_form
form
.form-group
.contact_btn {
display: flex !important; display: flex !important;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group .contact_btn p{
.contact_inner
.contact_form
form
.form-group
.contact_btn
p {
margin: 0 !important; margin: 0 !important;
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group .contact_btn > span{
.contact_inner
.contact_form
form
.form-group
.contact_btn
> span {
width: 24px; width: 24px;
height: 24px; height: 24px;
} }
#contact_body { #contact_body{
min-height: 48rem; min-height: 48rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -3605,7 +3567,7 @@ header.fix_style.white_header {
gap: 10px; gap: 10px;
} }
.contact_body { .contact_body{
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-content: center; align-content: center;
@@ -3636,44 +3598,28 @@ header.fix_style.white_header {
} }
/* For the err msg */ /* For the err msg */
#errText { #errText{
text-align: center; text-align: center;
color: tomato; color: tomato;
font-weight: 600; font-weight: 600;
} }
.contact_page_section .contact_inner .contact_form form .form-group span { .contact_page_section .contact_inner .contact_form form .form-group span{
font-size: 12px; font-size: 12px;
color: tomato; color: tomato;
padding: 3px; padding: 3px;
display: none; display: none;
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group input:valid[focused="true"]{
.contact_inner
.contact_form
form
.form-group
input:valid[focused="true"] {
border: 1px solid var(--dark-purple); border: 1px solid var(--dark-purple);
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group input:invalid[focused="true"]{
.contact_inner
.contact_form
form
.form-group
input:invalid[focused="true"] {
border: 1px solid tomato; border: 1px solid tomato;
} }
.contact_page_section .contact_page_section .contact_inner .contact_form form .form-group input:invalid[focused="true"] ~ span{
.contact_inner
.contact_form
form
.form-group
input:invalid[focused="true"]
~ span {
display: block; display: block;
} }
@@ -4743,20 +4689,19 @@ header.fix_style.white_header {
/* Loader */ /* Loader */
.loader { .loader{
border-radius: 100%; border-radius: 100%;
position: relative; position: relative;
} }
.loader-sm { .loader-sm{
width: 24px; width: 24px;
height: 24px; height: 24px;
} }
/* LOADER 1 */ /* LOADER 1 */
#loader-1:before, #loader-1:before, #loader-1:after{
#loader-1:after {
content: ""; content: "";
position: absolute; position: absolute;
width: 100%; width: 100%;
@@ -4766,24 +4711,24 @@ header.fix_style.white_header {
border-top-color: var(--body-text-purple); border-top-color: var(--body-text-purple);
} }
#loader-1:before { #loader-1:before{
z-index: 100; z-index: 100;
animation: spin 1.5s infinite; animation: spin 1.5s infinite;
} }
#loader-1:after { #loader-1:after{
border: 3.5px solid #ccc; border: 3.5px solid #ccc;
} }
@keyframes spin { @keyframes spin{
0% { 0%{
-webkit-transform: rotate(0deg); -webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg); -ms-transform: rotate(0deg);
-o-transform: rotate(0deg); -o-transform: rotate(0deg);
transform: rotate(0deg); transform: rotate(0deg);
} }
100% { 100%{
-webkit-transform: rotate(360deg); -webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg); -ms-transform: rotate(360deg);
-o-transform: rotate(360deg); -o-transform: rotate(360deg);
+79 -136
View File
@@ -1,75 +1,47 @@
/** @format */
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import BGImg from "../../../assets/images/bread_crumb_bg.png"; 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"; import SiteService from "../../../vendors/service/siteService";
const Main = ({ brdcum, bgimg }) => { const Main = ({ brdcum, bgimg }) => {
const [blogData, setBlogData] = useState([]); const [blogData, setBlogData] = useState([]);
console.log(blogData);
let api = new SiteService(); const api = new SiteService();
useEffect(() => { useEffect(() => {
getBlogData(); getBlogData();
}, []); }, []);
const getBlogData = async () => { const getBlogData = async () => {
/* try {
The reason for this, is because of the breaking I had when building the blog const res = await api.blogData();
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();
// Set the blog data to local storage setBlogData(res.data);
localStorage.setItem("myFit--blogData", JSON.stringify(res.data));
setBlogData(res.data); // console.log(res.data);
// Set a time out for the blog data to be deleted from local storage
setTimeout(() => {
localStorage.removeItem("myFit--blogData"); } catch (error) {
}, 3600); console.log("Error from blog data ", error);
} 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 ( return (
<> <>
<div <div className="bred_crumb" style={{ backgroundImage: `url(${BGImg})` }}>
className="bred_crumb"
style={{ backgroundImage: `url(${BGImg})` }}>
<div className="container"> <div className="container">
<span className="banner_shape1"> <span className="banner_shape1">
{" "} {" "}
<img <img src="assets/images/banner-shape1.png" alt="image" />{" "}
src="assets/images/banner-shape1.png"
alt="image"
/>{" "}
</span> </span>
<span className="banner_shape2"> <span className="banner_shape2">
{" "} {" "}
<img <img src="assets/images/banner-shape2.png" alt="image" />{" "}
src="assets/images/banner-shape2.png"
alt="image"
/>{" "}
</span> </span>
<span className="banner_shape3"> <span className="banner_shape3">
{" "} {" "}
<img <img src="assets/images/banner-shape3.png" alt="image" />{" "}
src="assets/images/banner-shape3.png"
alt="image"
/>{" "}
</span> </span>
<div className="bred_text"> <div className="bred_text">
@@ -82,122 +54,93 @@ const Main = ({ brdcum, bgimg }) => {
<span>»</span> <span>»</span>
</li> </li>
<li> <li>
<Link to="/blog"> <Link to="/blog">Blog</Link>
{blogData.map((item, idx) => {
if (idx === 0) {
return <span>{item.post_title}</span>;
}
})}
</Link>
</li> </li>
</ul> </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> </div>
</div> </div>
<section className="row_am blog_list_main"> <section className="row_am blog_list_main">
{blogData.length < 1 && ( {blogData.map((data,index) => {
<div if (index == 0){
className="loader loader-sm"
id="loader-1"></div>
)}
{blogData.map((data, index) => {
if (index == 0) {
return ( return (
<div <div className="container">
className="container" <div className="row">
key={data.id}> <div
<div className="row"> className="col-lg-6"
<div data-aos="fade-in"
className="col-lg-6" data-aos-duration="1500"
data-aos="fade-in" >
data-aos-duration="1500"> <div className="blog_img">
<div className="blog_img"> <img
<img src={data.meta_value}
src={data.meta_value} alt="image"
alt="image" />
/> {/* <span>20 min ago</span> */}
<span>{new Date(data.post_date).toDateString()}</span> <span>{new Date (data.post_date).toDateString()}</span>
</div>
</div> </div>
<div className="col-lg-6"> </div>
<div className="blog_text"> <div className="col-lg-6">
<div className="section_title"> <div className="blog_text">
<h2>{data.post_title}</h2> <div className="section_title">
<div <h2>{data.post_title}</h2>
dangerouslySetInnerHTML={{ <div dangerouslySetInnerHTML={{__html: data.post_content.substring(0,400)+' . . .'}}></div>
__html: <Link to={`/blog-single/${data.id}`} state={{data}}>
data.post_content.substring(0, 400) + " . . .",
}}></div>
{/* Change the route name */}
<Link
to={`/blogdetails/${data.id}`}
state={{ data }}>
READ MORE READ MORE
</Link> </Link>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
); </div>
}
})}
</section>
<section )
className="row_am latest_story blog_list_story" }
id="blog"> })}
</section>
<section className="row_am latest_story blog_list_story" id="blog">
<div className="container"> <div className="container">
<div className="row"> <div className="row">
{blogData.map((data, index) => { {blogData.map((data, index) => {
if (index > 0) { if (index > 0){
return ( return (
<div <div key={data.id} className="col-md-4">
key={data.id} <div className="story_box" data-aos="fade-up" data-aos-duration="1500">
className="col-md-4"> <div className="story_img">
<div <img src={data.meta_value} alt="image" />
className="story_box" <span>{new Date (data && data.post_date).toDateString()}</span>
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>
); <div className="story_text">
} <h3>{data.post_title}</h3>
})} <div dangerouslySetInnerHTML={{__html: data && data.post_content.substring(0,100)+' . . .'}}></div>
</div> <Link to={`/blog-single/${data.id}`} state={{data, allData: blogData}}>
READ MORE
</Link>
</div>
</div>
</div>
)}
})}
</div>
<div className="pagination_block"> <div className="pagination_block">
<ul> <ul>
<li> <li>
<Link <Link to="#" className="prev">
to={process.env.REACT_APP_BLOGSITE}
className="prev">
{" "} {" "}
Visit our blog Visit our blog
</Link> </Link>
+307 -176
View File
@@ -1,201 +1,332 @@
/** @format */
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { Link, useLocation } from "react-router-dom"; import { Link, useLocation } from 'react-router-dom'
import Bredcrumb from "../../Bredcrumb/Main"; import Bredcrumb from '../../Bredcrumb/Main'
import BGImg from "../../../assets/images/bread_crumb_bg.png"; import BGImg from "../../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png"; import BGImg1 from "../../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png"; import BGImg2 from "../../../assets/images/bread_crumb_bg_two.png"
import { useParams } from "react-router-dom";
import SiteService from "../../../vendors/service/siteService"; import SiteService from "../../../vendors/service/siteService";
const Main = ({ brdcum }) => {
const location = useLocation();
let data = location.state?.data;
const [blogData, setBlogData] = useState([]);
let api_call = new SiteService(); const Main = ({brdcum}) => {
const { id } = useParams();
const location = useLocation();
const [blogData, setBlogData] = useState([]);
const [newAllData, setNewAllData] = useState([]);
useEffect(() => { useEffect(() => {
getBlogData(); 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);
}
const getBlogData = async () => { const getBlogData = async () => {
/* try {
The reason for this, is because of the breaking I had when building the blog const res = await api.blogData();
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 setBlogData(res.data);
*/
// Saving it locally to avoid interfering with server } catch (error) {
if (localStorage.getItem("myFit--blogData") == null) { console.log("Error from blog data ", error);
try {
let res = await api_call.blogData();
// 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");
}, 3600);
} 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 ( return (
<> <>
{brdcum.b1 && (
<Bredcrumb {brdcum.b1 &&
no={1} <Bredcrumb
title="Blog details" no={1}
tag={data && data.post_title} title="Blog details"
bgimg={BGImg} tag="Blog single"
/> bgimg={BGImg}/>}
)}
{brdcum.b2 && ( {brdcum.b2 &&
<Bredcrumb <Bredcrumb
no={2} no={2}
title="Blog details" title="Blog details"
tag={data && data.post_title} tag="Blog single"
bgimg={BGImg1} bgimg={BGImg1}/>}
/>
)}
{brdcum.b5 && ( {brdcum.b5 &&
<Bredcrumb <Bredcrumb
no={5} no={5}
title="Blog details" title="Blog details"
tag={data && data.post_title} tag="Blog single"
bgimg={BGImg} bgimg={BGImg}/>}
/>
)}
{brdcum.b3 && ( {brdcum.b3 &&
<Bredcrumb <Bredcrumb
no={3} no={3}
title="Blog details" title="Blog details"
tag={data && data.post_title} tag="Blog single" />}
/>
)}
{brdcum.b4 && ( {brdcum.b4 &&
<Bredcrumb <Bredcrumb
no={4} no={4}
title="Blog details" title="Blog details"
tag={data && data.post_title} tag="Blog single"
bgimg={BGImg2} bgimg={BGImg2}/>}
/>
)}
<section className="blog_detail_section"> <section className="blog_detail_section">
<div className="container"> <div className="container">
<div className="blog_inner_pannel"> <div className="blog_inner_pannel">
<span className="blog_date"> <div className="review">
{new Date(data && data.post_modified).toDateString()} <span>Review</span>
</span> {/* <span>45 min ago</span> */}
<span>{new Date (data && data.post_modified).toDateString()}</span>
<div className="section_title"> </div>
<h2>{data && data.post_title}</h2> <div className="section_title">
</div> <h2>{data && data.post_title}</h2>
<div className="main_img"> </div>
<img <div className="main_img">
src={data && data.meta_value} <img src={data && data.meta_value} alt="image" />
alt="image" </div>
/> <div className="info">
</div> <h3>{data && data.post_name}</h3>
<div className="info"> <div dangerouslySetInnerHTML={{__html: data && data.post_content}}></div>
<h3>{data && data.post_name}</h3> </div>
<div {/* <div className="info">
dangerouslySetInnerHTML={{ <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>
__html: data && data.post_content, <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>
}}></div> <h3>Why we are best</h3>
</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.</p>
<ul>
<div className="blog_authore"> <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>
<div className="authore_info"> <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>
<div className="text"> <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>
{/* <h3>{data && data.post_author}</h3> */} <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>
<span>{new Date(data && data.post_date).toDateString()}</span> <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><Link to="#"><i className="icofont-facebook"></i></Link></li>
<li><Link to="#"><i className="icofont-twitter"></i></Link></li>
<li><Link to="#"><i className="icofont-instagram"></i></Link></li>
<li><Link to="#"><i className="icofont-pinterest"></i></Link></li>
</ul>
</div>
</div>
<div className="blog_tags">
<ul>
<li className="tags"><p>Tags:</p></li>
<li><span>app,</span></li>
<li><span>rating,</span></li>
<li><span>development</span></li>
</ul>
</div>
</div>
</div>
</section>
<section className="row_am comment_section">
<div className="container">
<div className="section_title">
<h2>3 Comments</h2>
</div> </div>
</div>
<div className="social_media">
<ul> <ul>
<li> <li>
<a href={process.env.REACT_APP_FACEBOOK}> <div className="authore_info">
<i className="icofont-facebook"></i> <div className="avtar">
</a> <img src="assets/images/blog_d01.png" alt="image" />
</li> </div>
<li> <div className="text">
<a href={process.env.REACT_APP_TWITTER}> <span>30 min ago</span>
<i className="icofont-twitter"></i> <h4>Dolly Shell</h4>
</a> </div>
</li> </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>
</ul> </ul>
</div>
</div> </div>
<div className="blog_tags"> </section>
<a href={process.env.REACT_APP_BLOGSITE}>Visit Blog Site </a>
</div>
</div>
</div>
</section>
<section <section className="row_am comment_form_section">
className="row_am latest_story" <div className="container">
id="blog"> <div className="section_title">
<div className="container"> <h2>Leave a <span>comment</span></h2>
{/* Latest Title */} <p>Your email address will not be published. Required fields are marked *</p>
<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>
<a href={`/blogdetails/${item.id}`}>READ MORE</a>
{/* <Link to={`/blogdetails/${item.id}`}>READ MORE</Link> */}
</div>
</div> </div>
</div> <form action="">
))} <div className="row">
</div> <div className="col-md-6">
</div> <div className="form-group">
</section> <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>
</section>
export default Main; <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">
{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>
</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>
</>
)
}
export default Main
+2 -1
View File
@@ -78,6 +78,7 @@ const Main = ({ brdcum }) => {
const onChange = (e) => { const onChange = (e) => {
setValues((prev) => ({ ...prev, [e.target.name]: e.target.value })); setValues((prev) => ({ ...prev, [e.target.name]: e.target.value }));
}; };
console.log(values);
// Submitting form // Submitting form
const handleSubmit = async (e) => { const handleSubmit = async (e) => {
@@ -120,7 +121,7 @@ const Main = ({ brdcum }) => {
}, []); }, []);
useEffect(() => { useEffect(() => {
myData console.log(myData);
}, [myData]); }, [myData]);
return ( return (
+5 -5
View File
@@ -100,7 +100,7 @@ const Main = ({ footer }) => {
<Link to="/faq">FAQs</Link> <Link to="/faq">FAQs</Link>
</li> </li>
<li> <li>
<Link to="/how_it_work">How it works</Link> <a href="#how_it_work">How it works</a>
</li> </li>
<li> <li>
<Link to="/terms">Terms & conditions</Link> <Link to="/terms">Terms & conditions</Link>
@@ -237,7 +237,7 @@ const Main = ({ footer }) => {
<Link to="/faq">FAQs</Link> <Link to="/faq">FAQs</Link>
</li> </li>
<li> <li>
<Link to="/how_it_work">How it works</Link> <a href="/how_it_work">How it works</a>
</li> </li>
<li> <li>
<Link to="/terms">Terms & conditions</Link> <Link to="/terms">Terms & conditions</Link>
@@ -367,7 +367,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link> <Link to="#">Support</Link>
</li> </li>
<li> <li>
<Link to="/how_it_work">How it works</Link> <a href="/how_it_work">How it works</a>
</li> </li>
<li> <li>
<Link to="/terms">Terms & conditions</Link> <Link to="/terms">Terms & conditions</Link>
@@ -492,7 +492,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link> <Link to="#">Support</Link>
</li> </li>
<li> <li>
<Link to="/how_it_work">How it works</Link> <a href="/how_it_work">How it works</a>
</li> </li>
<li> <li>
<Link to="/terms">Terms & conditions</Link> <Link to="/terms">Terms & conditions</Link>
@@ -624,7 +624,7 @@ const Main = ({ footer }) => {
<Link to="#">Support</Link> <Link to="#">Support</Link>
</li> </li>
<li> <li>
<Link to="/how_it_work">How it works</Link> <a href="/how_it_work">How it works</a>
</li> </li>
<li> <li>
<Link to="/terms">Terms & conditions</Link> <Link to="/terms">Terms & conditions</Link>
+1 -19
View File
@@ -103,22 +103,6 @@ const Main = ({ setfooter, setnavbar, setbrdcum }) => {
</p> </p>
</div> </div>
<ul className="app_btn"> <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> <li>
<Link to="https://play.google.com/store/apps/details?id=com.mermsemr.myfit"> <Link to="https://play.google.com/store/apps/details?id=com.mermsemr.myfit">
<img className="blue_img" src={blueapp} alt="image" /> <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" /> <img className="white_img" src={white} alt="image" />
</Link> </Link>
</li> </li>
</ul> */} </ul>
</div> </div>
<div <div
className="col-lg-6 col-md-12" className="col-lg-6 col-md-12"
+8 -52
View File
@@ -1,64 +1,20 @@
import React, { useEffect, useState } from "react"; import { Link } from 'react-router-dom'
import { Link } from 'react-router-dom'; import React from 'react'
// import story1 from '../../../assets/images/story01.png'; import story1 from '../../../assets/images/story01.png'
// import story2 from '../../../assets/images/story02.png'; import story2 from '../../../assets/images/story02.png'
// import story3 from '../../../assets/images/story03.png'; import story3 from '../../../assets/images/story03.png'
import SiteService from "../../../vendors/service/siteService";
const Main = () => { 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 ( return (
<> <>
<section className="row_am latest_story" id="blog"> <section className="row_am latest_story" id="blog">
<div className="container"> <div className="container">
<div className="section_title" data-aos="fade-in" data-aos-duration="1500" data-aos-delay="100"> <div className="section_title" data-aos="fade-in" data-aos-duration="1500" data-aos-delay="100">
<h2>Read latest <span>story</span></h2> <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>
<div className="row"> <div className="row">
{blogData.slice(1, 4).map((item, index) => ( <div className="col-md-4">
<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>
))}
{/* <div className="col-md-4">
<div className="story_box" data-aos="fade-up" data-aos-duration="1500"> <div className="story_box" data-aos="fade-up" data-aos-duration="1500">
<div className="story_img"> <div className="story_img">
<img src={story1} alt="image" /> <img src={story1} alt="image" />
@@ -97,7 +53,7 @@ const Main = () => {
<Link to="/blog-single">READ MORE</Link> <Link to="/blog-single">READ MORE</Link>
</div> </div>
</div> </div>
</div> */} </div>
</div> </div>
</div> </div>
</section> </section>
+2 -2
View File
@@ -55,7 +55,7 @@ const Main = ({navbar}) => {
<Link to="/contact" className="nav-link" >Contact</Link> <Link to="/contact" className="nav-link" >Contact</Link>
</li> </li>
<li className="nav-item"> <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> </li>
</ul> </ul>
</div> </div>
@@ -134,7 +134,7 @@ const Main = ({navbar}) => {
<Link smooth to="/#features" className="nav-link">Features</Link> <Link smooth to="/#features" className="nav-link">Features</Link>
</li> </li>
<li className="nav-item"> <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>
<li className="nav-item" > <li className="nav-item" >
<Link to="/blog" className="nav-link">Blog</Link> <Link to="/blog" className="nav-link">Blog</Link>
-2
View File
@@ -6,8 +6,6 @@ import Bredcrumb from '../Bredcrumb/Main'
import BGImg from "../../assets/images/bread_crumb_bg.png" import BGImg from "../../assets/images/bread_crumb_bg.png"
import BGImg1 from "../../assets/images/bread_crumb_bg_one.png" import BGImg1 from "../../assets/images/bread_crumb_bg_one.png"
import BGImg2 from "../../assets/images/bread_crumb_bg_two.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";
const Main = ({brdcum}) => { const Main = ({brdcum}) => {
+1 -3
View File
@@ -3,7 +3,6 @@ import { Route, Routes, useLocation } from "react-router-dom";
import Navbar from "../component/Navbar/Main"; import Navbar from "../component/Navbar/Main";
import Footer from "../component/Footer/Main"; import Footer from "../component/Footer/Main";
import Home from "../component/Home/Main"; import Home from "../component/Home/Main";
import Work from "../component/HomeMain/Work/Main"
import AboutUs from "../component/AboutUs/Main"; import AboutUs from "../component/AboutUs/Main";
import Review from "../component/Pages/Review/Main"; import Review from "../component/Pages/Review/Main";
import Contact from "../component/Contact/Main"; import Contact from "../component/Contact/Main";
@@ -86,10 +85,9 @@ const Routing = () => {
<Route path="/sign-up" element={<SignUp />} /> <Route path="/sign-up" element={<SignUp />} />
<Route path="/pricing" element={<Pricing brdcum={brdcum} />} /> <Route path="/pricing" element={<Pricing brdcum={brdcum} />} />
<Route path="/blog" element={<Blog brdcum={brdcum} />} /> <Route path="/blog" element={<Blog brdcum={brdcum} />} />
<Route path="/blogdetails/:id" element={<BlogSingle brdcum={brdcum} />} /> <Route path="/blog-single/:id" element={<BlogSingle brdcum={brdcum} />} />
<Route path="/terms" element={<Terms brdcum={brdcum} />} /> <Route path="/terms" element={<Terms brdcum={brdcum} />} />
<Route path="/privacy" element={<Privacy brdcum={brdcum} />} /> <Route path="/privacy" element={<Privacy brdcum={brdcum} />} />
<Route path="/how_it_work" element={<Work brdcum={brdcum} />} />
</Routes> </Routes>
{footerpage && <Footer footer={footer} />} {footerpage && <Footer footer={footer} />}