Compare commits

...

3 Commits

Author SHA1 Message Date
ChineseChikki c1531f333d updated 3 easy step 2023-01-13 00:48:59 +01:00
tokslaw 6323b86c6b Merge branch 'myfit_FAQs_Page' of MyFit/www-myfit into master 2023-01-12 21:59:14 +00:00
VICTOR\anumu d946417490 populated FAQs with data from api 2023-01-12 20:53:38 +01:00
3 changed files with 251 additions and 127 deletions
+193 -113
View File
@@ -1,119 +1,199 @@
import React , {useState} from 'react'
import { Link } from 'react-router-dom'
import img from '../../../assets/images/download_app.jpg'
import img1 from '../../../assets/images/create_account.jpg'
import img2 from '../../../assets/images/enjoy_app.jpg'
import line from '../../../assets/images/anim_line.png'
import banner from '../../../assets/images/banner-shape1.png'
import banner1 from '../../../assets/images/banner-shape2.png'
import banner2 from '../../../assets/images/banner-shape3.png'
import video from '../../../assets/images/play_icon.png'
import ytvideo from '../../../assets/images/yt_thumb.png'
import React, { useState } from "react";
import { Link } from "react-router-dom";
import img from "../../../assets/images/download_app.jpg";
import img1 from "../../../assets/images/create_account.jpg";
import img2 from "../../../assets/images/enjoy_app.jpg";
import line from "../../../assets/images/anim_line.png";
import banner from "../../../assets/images/banner-shape1.png";
import banner1 from "../../../assets/images/banner-shape2.png";
import banner2 from "../../../assets/images/banner-shape3.png";
import video from "../../../assets/images/play_icon.png";
import ytvideo from "../../../assets/images/yt_thumb.png";
const Main = ({dark}) => {
const [ytShow , setytShow] = useState (false)
const Main = ({ dark }) => {
const [ytShow, setytShow] = useState(false);
return (
<>
<section className="row_am how_it_works" id="how_it_work">
<div className="container">
<div className={`how_it_inner ${dark && "dark"}`}>
<div className="section_title" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="300">
<h2><span>How it works</span> - 3 easy steps</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="step_block">
<ul>
<li>
<div className="step_text" data-aos="fade-right" data-aos-duration="1500">
<h4>Download app</h4>
<div className="app_icon">
<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>
<div className="step_number">
<h3>01</h3>
</div>
<div className="step_img" data-aos="fade-left" data-aos-duration="1500">
<img src={img} alt="image" />
</div>
</li>
<li>
<div className="step_text" data-aos="fade-left" data-aos-duration="1500">
<h4>Create account</h4>
<span>14 days free trial</span>
<p>Sign up free for App account. One account for all devices.</p>
</div>
<div className="step_number">
<h3>02</h3>
</div>
<div className="step_img" data-aos="fade-right" data-aos-duration="1500">
<img src={img1} alt="image" />
</div>
</li>
<li>
<div className="step_text" data-aos="fade-right" data-aos-duration="1500">
<h4>Its done, enjoy the app</h4>
<span>Have any questions check our <Link to="#">FAQs</Link></span>
<p>Get most amazing app experience,Explore and share the app</p>
</div>
<div className="step_number">
<h3>03</h3>
</div>
<div className="step_img" data-aos="fade-left" data-aos-duration="1500">
<img src={img2} alt="image" />
</div>
</li>
</ul>
</div>
</div>
{dark ?
<div className="yt_video" style={{display: "none"}} data-aos="fade-in" data-aos-duration="1500">
<div className="anim_line dark_bg">
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
<span><img src="assets/images/anim_line.png" alt="anim_line" /></span>
</div>
<div className="thumbnil">
<span className="banner_shape1"> <img src="assets/images/banner-shape1.png" alt="image"/> </span>
<span className="banner_shape2"> <img src="assets/images/banner-shape2.png" alt="image"/> </span>
<span className="banner_shape3"> <img src="assets/images/banner-shape3.png" alt="image"/> </span>
<img src="assets/images/yt_thumb.png" alt="image" />
<Link to="#" className="popup-youtube play-button" data-url="#" onClick={() => setytShow(true)} data-toggle="modal" data-target="#myModal" title="XJj2PbenIsU">
<span className="play_btn">
<img src={video} alt="image" />
<div className="waves-block">
<div className="waves wave-1"></div>
<div className="waves wave-2"></div>
<div className="waves wave-3"></div>
</div>
</span>
Lets see virtually how it works
<span>Watch video 1</span>
</Link>
</div>
</div> :
null}
<section className="row_am how_it_works" id="how_it_work">
<div className="container">
<div className={`how_it_inner ${dark && "dark"}`}>
<div
className="section_title"
data-aos="fade-up"
data-aos-duration="1500"
data-aos-delay="300"
>
<h2>
<span>How it works</span> - 3 easy steps
</h2>
<p>
myFit has powerful connectivity, fitness, health, and safety
features,
<br /> Also makes provision Fitness tracking,Workout
tracking,Heart rate monitoring.
</p>
</div>
</section>
{ytShow &&
<>
</>}
</>
)
}
<div className="step_block">
<ul>
<li>
<div
className="step_text"
data-aos="fade-right"
data-aos-duration="1500"
>
<h4>Download app</h4>
<div className="app_icon">
<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>
<div className="step_number">
<h3>01</h3>
</div>
<div
className="step_img"
data-aos="fade-left"
data-aos-duration="1500"
>
<img src={img} alt="image" />
</div>
</li>
<li>
<div
className="step_text"
data-aos="fade-left"
data-aos-duration="1500"
>
<h4>Create account</h4>
<span>14 days free trial</span>
<p>
Sign up free for App account. One account for all devices.
</p>
</div>
<div className="step_number">
<h3>02</h3>
</div>
<div
className="step_img"
data-aos="fade-right"
data-aos-duration="1500"
>
<img src={img1} alt="image" />
</div>
</li>
<li>
<div
className="step_text"
data-aos="fade-right"
data-aos-duration="1500"
>
<h4>Its done, enjoy the app</h4>
<span>
Have any questions check our <Link to="#">FAQs</Link>
</span>
<p>
Get most amazing app experience,Explore and share the app
</p>
</div>
<div className="step_number">
<h3>03</h3>
</div>
<div
className="step_img"
data-aos="fade-left"
data-aos-duration="1500"
>
<img src={img2} alt="image" />
</div>
</li>
</ul>
</div>
</div>
export default Main
{dark ? (
<div
className="yt_video"
style={{ display: "none" }}
data-aos="fade-in"
data-aos-duration="1500"
>
<div className="anim_line dark_bg">
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
<span>
<img src="assets/images/anim_line.png" alt="anim_line" />
</span>
</div>
<div className="thumbnil">
<span className="banner_shape1">
{" "}
<img src="assets/images/banner-shape1.png" alt="image" />{" "}
</span>
<span className="banner_shape2">
{" "}
<img src="assets/images/banner-shape2.png" alt="image" />{" "}
</span>
<span className="banner_shape3">
{" "}
<img src="assets/images/banner-shape3.png" alt="image" />{" "}
</span>
<img src="assets/images/yt_thumb.png" alt="image" />
<Link
to="#"
className="popup-youtube play-button"
data-url="#"
onClick={() => setytShow(true)}
data-toggle="modal"
data-target="#myModal"
title="XJj2PbenIsU"
>
<span className="play_btn">
<img src={video} alt="image" />
<div className="waves-block">
<div className="waves wave-1"></div>
<div className="waves wave-2"></div>
<div className="waves wave-3"></div>
</div>
</span>
Lets see virtually how it works
<span>Watch video 1</span>
</Link>
</div>
</div>
) : null}
</div>
</section>
{ytShow && <></>}
</>
);
};
export default Main;
+55 -13
View File
@@ -5,9 +5,23 @@ 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[activeFaq, setActiveFaq] = useState({a : true})
const [faqs, setFaqs] = useState([]); // initial state for FAQs before API call
let faqServices = new SiteService(); // instantiating the class
const allFaqData = () => {
return faqServices.faqData();
};
useEffect(() => {
allFaqData().then((data) => setFaqs(data.data));
}, []);
return (
<>
{brdcum.b1 &&
@@ -54,7 +68,8 @@ const Main = ({brdcum}) => {
<div className="container">
<div className="faq_panel">
<div className="accordion" id="accordionExample">
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingOne">
<h2 className="mb-0">
<button type="button" className={`btn btn-link ${activeFaq.a && "active"}`} onClick= {() => setActiveFaq(activeFaq.a ? {a : false} : {a : true})} data-toggle="collapse" data-target="#collapseOne">
@@ -69,8 +84,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
<div className="card" data-aos="fade-up" >
</div> */}
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingTwo">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.b && "active"}`} onClick= {() => setActiveFaq(activeFaq.b ? {b : false} : {b : true})} data-toggle="collapse"
@@ -85,9 +101,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div> */}
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingThree">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.c && "active"}`} onClick= {() => setActiveFaq(activeFaq.c ? {c : false} : {c : true})} data-toggle="collapse"
@@ -103,9 +119,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div> */}
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingFour">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.d && "active"}`} onClick= {() => setActiveFaq(activeFaq.d ? {d : false} : {d : true})} data-toggle="collapse"
@@ -122,9 +138,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div> */}
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingFive">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.e && "active"}`} onClick= {() => setActiveFaq(activeFaq.e ? {e : false} : {e : true})} data-toggle="collapse"
@@ -141,9 +157,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div> */}
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingSix">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.f && "active"}`} onClick= {() => setActiveFaq(activeFaq.f ? {f : false} : {f : true})} data-toggle="collapse"
@@ -160,9 +176,9 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div> */}
<div className="card" data-aos="fade-up" >
{/* <div className="card" data-aos="fade-up" >
<div className="card-header" id="headingSeven">
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.g && "active"}`} onClick= {() => setActiveFaq(activeFaq.g ? {g : false} : {g : true})} data-toggle="collapse"
@@ -179,7 +195,33 @@ const Main = ({brdcum}) => {
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div> */}
{/* displays loading ... while the page fetches the FAQs */}
{faqs.length < 1 && <h3>Loading...</h3>}
{faqs.length > 0 && faqs.map((faq, index) => {
let id = `heading${index}`; //headingSeven
let target = `collapse${index}`; //#collapseSeven
return(
<div key={index} className="card" data-aos="fade-up" >
<div className="card-header" id={id}>
<h2 className="mb-0">
<button type="button" className={`btn btn-link collapsed ${activeFaq.b && "active"}`} data-toggle="collapse"
data-target={`#${target}`}>{activeFaq.b ? <i className="icon_faq icofont-minus"></i> : <i className="icon_faq icofont-plus"></i>}{faq.title}
</button>
</h2>
</div>
<div id={target} className="collapse" aria-labelledby={id} data-parent="#accordionExample">
<div className="card-body">
<p>{faq.text}</p>
</div>
</div>
</div>
)
})}
</div>
</div>
</div>
+3 -1
View File
@@ -13,7 +13,9 @@ class SiteService {
return this.getAuxEnd("/country", null);
}
faqData() {}
faqData() {
return this.getAuxEnd("/faq", null);
}
//---------------------------------------- -----
//---------------------------------------- -----