Compare commits

..

17 Commits

Author SHA1 Message Date
victorAnumudu 675b6bdaaa added social links to footer component 2023-04-18 16:23:52 +01:00
DESKTOP-GBA0BK8\Admin 1a521ab308 Post view page 2023-04-17 06:53:44 -04:00
tokslaw e0a4517ffc Merge branch 'api-config-and-links' of FloatSystems/float-www into master 2023-04-12 14:47:32 +00:00
Ebube 59a4d3009b Merge branch 'footer-social-links' of into api-config-and-links 2023-04-11 17:15:25 +01:00
Ebube 391c0a7eaa Merge branch 'api-configurations-for-faq-and-contact' into api-config-and-links 2023-04-11 17:10:47 +01:00
jenkins 5dbe5f0b5a Merge branch 'master' of https://gitlab.chiefsoft.net/FloatSystems/float-www 2023-04-11 09:00:22 -04:00
jenkins 0f7e2a6bdb name text change 2023-04-11 09:00:01 -04:00
tokslaw 07031203ee Merge branch 'blog_image' of FloatSystems/float-www into master 2023-04-11 12:40:22 +00:00
victorAnumudu 477f47ef80 image and featured blog implemented 2023-04-10 21:47:08 +01:00
Ebube dc26150ac4 Merge branch 'master' of https://gitlab.chiefsoft.net/FloatSystems/float-www into footer-social-links 2023-04-10 21:16:11 +01:00
Ebube d81157f5ea Merge branch 'master' of https://gitlab.chiefsoft.net/FloatSystems/float-www into api-configurations-for-faq-and-contact 2023-04-10 21:14:29 +01:00
Ebube 01d93f9054 api calls for faq and contact 2023-04-10 21:12:02 +01:00
tokslaw ab1618cdab Merge branch 'blog_implementation' of FloatSystems/float-www into master 2023-04-10 16:09:02 +00:00
Ebube 43fa698c43 Merge branch 'master' of https://gitlab.chiefsoft.net/FloatSystems/float-www into api-configurations 2023-04-10 12:07:00 +01:00
Ebube 8d12fc6445 Merge branch 'master' of https://gitlab.chiefsoft.net/FloatSystems/float-www into footer-social-links 2023-04-10 12:04:26 +01:00
Ebube cfa177eaa9 added the endpoint 2023-04-10 12:01:59 +01:00
Ebube 186bfa6d8f Footer Links added 2023-04-10 02:46:56 +01:00
14 changed files with 276 additions and 525 deletions
+6
View File
@@ -10,3 +10,9 @@ REACT_APP_GOOGLE_PLAY_LINK='https://apps.apple.com/us/app/float-mobility/id14653
REACT_APP_AUX_ENDPOINT='https://float-gat.dev.chiefsoft.net/en/floatweb/api/v1/'
REACT_APP_IMAGE_LINK='https://blog.float.sg/wp-content/uploads/'
REACT_APP_FACEBOOK_LINK='https://www.facebook.com/tryfloat/'
REACT_APP_INSTAGRAM_LINK='https://www.instagram.com/tryfloat/'
REACT_APP_LINKEDIN_LINK='https://www.linkedin.com/company/float-mobility/'
REACT_APP_TWITTER_LINK='https://twitter.com/tryfloat'
+2 -2
View File
@@ -4714,8 +4714,8 @@ h5.posts-category {
.featured-badge {
z-index: 70;
position: absolute;
top: 20px;
right: 20px;
top: 10px;
right: 10px;
width: 45px;
height: 45px;
-webkit-border-radius: 100%;
+22 -12
View File
@@ -20,36 +20,45 @@ import GetStarted from './pages/GetStarted';
import FindEv from "./pages/FindEv";
import FindMobility from "./pages/FindMobility";
// import {
// BrowserRouter as Router,
// Routes,
// Route
// } from "react-router-dom";
import { Routes, Route } from "react-router-dom";
import { useState, useEffect } from "react";
import SiteService from "./svs/SiteService";
function App() {
const [blogData, setBlogData] = useState([]) // for holding
const [faqData, setFaqData] = useState([]) // for holding
const siteApi = new SiteService(); // instantiating the API SERVICE
const getBlogData = async () => {
try {
const res = await siteApi.blogData();
if(res.status == 200 /* && res.data.status > 0*/){
console.log(res.data.payload, res.data);
console.log(res.data);
setBlogData(res.data)
return
}
}catch(error) {
setBlogData({payload: {blogdata: []}})
setBlogData({blogdata: []})
}
};
const getFaqData = async () => {
try {
const res = await siteApi.faqData();
if(res.status == 200 /* && res.data.status > 0*/){
let data = await res.data
console.log(data);
setFaqData(data)
return
}
} catch (error) {
console.log(error)
}
}
useEffect(() => {
getBlogData();
getFaqData();
}, []);
return (
@@ -57,13 +66,14 @@ function App() {
<Header/>
<Routes>
<Route path="/" element={<FloatHome blogData={blogData} />} />
<Route path="/" element={<FloatHome blogData={blogData} faqData={faqData} />} />
<Route path="/about" element={<About/>} />
<Route path="/faqs" element={<Faqs/>} />
<Route path="/faqs" element={<Faqs faqData={faqData}/>} />
<Route path="/features" element={<Features/>} />
<Route path="/pricing" element={<Pricing/>} />
<Route path="/reviews" element={<Reviews/>} />
<Route path="/single_post" element={<Single_post/>} />
<Route path="/sel_post" element={<Single_post/>} />
<Route path="/terms" element={<Terms/>} />
<Route path="/demo" element={<Demo/>} />
<Route path="/about" element={<About/>} />
+14 -9
View File
@@ -27,23 +27,27 @@ const BlogItems = ({blogData}) => {
return (
<div className="row">
{
blogData?.payload == undefined ? // API CALL IN PROGRESS
<div className='col-12 text-center display-4'>Loading...</div>
blogData?.blogdata == undefined ? // API CALL IN PROGRESS
// <div className='col-12 text-center display-4'>Loading...</div>
<div className="col-12 text-center">
<div className="spinner-border spinner-border-lg" role="status" style={{width: '3rem', height: '3rem'}}>
</div>
</div>
:
// API CALL FINISHED
(
blogData?.payload?.blogdata.length < 1 ?
blogData?.blogdata.length < 1 ?
<div className='col-12 text-center display-4'>No Blog Currently Found!</div>
:
blogData?.payload?.blogdata.map((blog, index) => {
blogData?.blogdata.map((blog, index) => {
if(location == '/blogs'){
return(
<div key={index} id="b-post-1" className="col-md-6 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp" data-wow-delay="0.4s">
{/* BLOG POST IMAGE */}
<div className="blog-post-img rounded">
<img className="img-fluid rounded" src="assets/images/blog/post-1-img.jpg" alt="blog-post-image" />
{/* <img className="img-fluid" src={blog.meta_value} alt="blog-post-image" /> */}
{/* <img className="img-fluid rounded" src="assets/images/blog/post-1-img.jpg" alt="blog-post-image" /> */}
<img className="img-fluid rounded" src={process.env.REACT_APP_IMAGE_LINK + blog.meta_value} alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
@@ -51,7 +55,7 @@ const BlogItems = ({blogData}) => {
<p className="p-md post-tag">Float News</p>
{/* Post Link */}
<h5 className="h5-sm">
<a href="single-post.html">{blog.post_title.substring(0,40)+' . . .'}</a>
<a href="/sel_post/">{blog.post_title.substring(0,40)+' . . .'}</a>
</h5>
{/* Text */}
<div dangerouslySetInnerHTML={{__html: blog.post_content.substring(0,50)+' . . .'}}></div>
@@ -73,7 +77,8 @@ const BlogItems = ({blogData}) => {
<div className="blog-post mb-40 wow fadeInUp" data-wow-delay="0.4s">
{/* BLOG POST IMAGE */}
<div className="blog-post-img rounded">
<img className="img-fluid rounded" src="assets/images/blog/post-1-img.jpg" alt="blog-post-image" />
{/* <img className="img-fluid rounded" src="assets/images/blog/post-1-img.jpg" alt="blog-post-image" /> */}
<img className="img-fluid rounded" src={process.env.REACT_APP_IMAGE_LINK + blog.meta_value} alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
@@ -81,7 +86,7 @@ const BlogItems = ({blogData}) => {
<p className="p-md post-tag">Float News</p>
{/* Post Link */}
<h5 className="h5-sm">
<a href="single-post.html">{blog.post_title.substring(0,40)+' . . .'}</a>
<a href="/sel_post">{blog.post_title.substring(0,40)+' . . .'}</a>
</h5>
{/* Text */}
<div dangerouslySetInnerHTML={{__html: blog.post_content.substring(0,50)+' . . .'}}></div>
+8 -2
View File
@@ -44,11 +44,17 @@ class Footer extends React.Component {
</div>
</div>
<div className="col-sm-6 col-md-8 col-lg-3">
<div className="pb-2 d-flex justify-content-lg-end">
<a href={process.env.REACT_APP_FACEBOOK_LINK} target="_blank"><span className="p-1 flaticon-facebook"></span></a>
<a href={process.env.REACT_APP_INSTAGRAM_LINK} target="_blank"><span className="p-1 flaticon-instagram"></span></a>
<a href={process.env.REACT_APP_LINKEDIN_LINK} target="_blank"><span className="p-1 flaticon-linkedin-sign"></span></a>
<a href={process.env.REACT_APP_TWITTER_LINK} target="_blank"><span className="p-1 flaticon-twitter"></span></a>
</div>
<div className="footer-store-badges text-right mb-40">
<Link to="/#" className="store">
<Link to={process.env.REACT_APP_APPLE_LINK} className="store">
<img className="appstore" src="assets/images/appstore.png" alt="appstore-badge" />
</Link>
<Link to="/#" className="store">
<Link to={process.env.REACT_APP_GOOGLE_PLAY_LINK} className="store">
<img className="googleplay" src="assets/images/googleplay.png" alt="googleplay-badge" />
</Link>
</div>
+6 -6
View File
@@ -1,18 +1,18 @@
import React from 'react';
import ReactDOM from 'react-dom';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from "react-router-dom";
ReactDOM.render(
// basename='/usr/src/app/build'
const rootElement = document.getElementById('root');
const root = ReactDOM.createRoot(rootElement);
root.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
</BrowserRouter>
);
// If you want to start measuring performance in your app, pass a function
+9 -24
View File
@@ -5,21 +5,16 @@ class About extends React.Component {
render() {
return(
<div>
{/* PRELOADER SPINNER
============================================= */}
{/* PRELOADER SPINNER */}
<div id="loader-wrapper">
<div id="loading">
<span className="cssload-loader"><span className="cssload-loader-inner" /></span>
</div>
</div>
{/* PAGE CONTENT
============================================= */}
{/* PAGE CONTENT */}
<div id="page" className="page">
{/* PAGE HERO
============================================= */}
{/* PAGE HERO */}
<div id="about-page" className="rel purple_gradient bg_shape_01 page-hero-section division">
<div className="container">
<div className="row">
@@ -34,8 +29,7 @@ class About extends React.Component {
</div> {/* End row */}
</div> {/* End container */}
</div> {/* END PAGE HERO */}
{/* ABOUT-2
============================================= */}
{/* ABOUT-2 */}
<div id="about-2" className="wide-90 about-section division">
<div className="container">
{/* TEXT BLOCK */}
@@ -111,11 +105,8 @@ class About extends React.Component {
</div>
</div> {/* END BUTTON */}
</div> {/* End container */}
</div> {/* END ABOUT-2 */}
{/* TEAM-1
============================================= */}
</div> {/* END ABOUT-2 */}
{/* TEAM-1 */}
<section id="team-1" className="wide-60 team-section division">
<div className="container">
{/* SECTION TITLE */}
@@ -133,8 +124,6 @@ class About extends React.Component {
<div className="team-members-holder pc-20 text-center">
<div className="row justify-content-center">
{Testimonial.map(({name, title, image, link: {domain, href}}, idx) => (
<>
{/* TEAM MEMBER #1 */}
<div className="col-sm-6 col-lg-3" key={idx}>
<div className="team-member wow fadeInUp" data-wow-delay="0.4s">
{/* Team Member Photo */}
@@ -148,16 +137,13 @@ class About extends React.Component {
<span><a href={href} className="grey-color">@{domain}</a></span>
</div>
</div>
</div>
{/* END TEAM MEMBER #1 */}
</>
</div>
))}
</div> {/* End row */}
</div> {/* TEAM MEMBERS HOLDER */}
</div> {/* End container */}
</section> {/* END TEAM-1 */}
{/* NEWSLETTER-1
============================================= */}
{/* NEWSLETTER-1 */}
<section id="newsletter-1" className="pb-20 newsletter-section division">
<div className="container">
<div className="newsletter-wrapper bg-white">
@@ -187,8 +173,7 @@ class About extends React.Component {
</div> {/* End row */}
</div> {/* End newsletter-holder */}
</div> {/* End container */}
</section> {/* END NEWSLETTER-1 */}
</section> {/* END NEWSLETTER-1 */}
</div> {/* END PAGE CONTENT */}
</div>
)
+41 -31
View File
@@ -12,8 +12,8 @@ class Blog_listing extends React.Component {
console.log("OLU-AMEY BLOG LISTING ",props.blogData);
}
render() {
render() {
// const [blogData, setBlogData] = useState([]) // for holding
//const siteApi = new SiteService(); // instantiating the API SERVICE
@@ -53,35 +53,45 @@ class Blog_listing extends React.Component {
</div>
</div>
{/* FEATURED POST */}
<div className="rel blog-post featured-post wide-post">
<div className="row d-flex align-items-center">
<div className="featured-badge text-center ico-30 bg_whitesmoke yellow-color">
<span className="flaticon-star" />
</div>
{/* BLOG POST IMAGE */}
<div className="col-lg-7 blog-post-img">
<img className="img-fluid" src="assets/images/blog/post-1-img.jpg" alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="col-lg-5 blog-post-txt">
{/* Post Tag */}
<p className="p-md post-tag">NordEx News</p>
{/* Post Link */}
<h5 className="h5-xl">
<a href="single-post.html">Tempor sapien donec gravida a suscipit and porta justo vitae</a>
</h5>
{/* Text */}
<p className="p-md">Aliqum mullam blandit vitae and tempor sapien and donec lipsum gravida a porta
undo velna dolor in cubilia laoreet
</p>
{/* Post Meta */}
<div className="post-meta">
<div className="post-author-avatar"><img src="assets/images/post-author-1.jpg" alt="author-avatar" /></div>
<p>12 min read</p>
</div>
</div> {/* END BLOG POST TEXT */}
</div> {/* End row */}
</div> {/* END FEATURED POST */}
{
this.props.blogData?.featured == undefined ? // API CALL IN PROGRESS
<div className="text-center">
<div className="spinner-border spinner-border-lg" role="status" style={{width: '3rem', height: '3rem'}}>
</div>
</div>
:
<div className="rel blog-post featured-post wide-post">
<div className="row d-flex align-items-center">
<div className="featured-badge text-center ico-30 bg_whitesmoke yellow-color">
<span className="flaticon-star" />
</div>
{/* BLOG POST IMAGE */}
<div className="col-lg-7 blog-post-img">
<img className="w-auto h-100" src={process.env.REACT_APP_IMAGE_LINK + this.props.blogData?.featured.meta_value} alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="col-lg-5 blog-post-txt">
{/* Post Tag */}
<p className="p-2 post-tag">Float News</p>
{/* Post Link */}
<h5 className="h5-xl">
<a href="single-post.html">{this.props.blogData?.featured.post_title}</a>
</h5>
{/* Text */}
{/* <p className="p-md">Aliqum mullam blandit vitae and tempor sapien and donec lipsum gravida a porta
undo velna dolor in cubilia laoreet
</p> */}
<div className="p-2" dangerouslySetInnerHTML={{__html: this.props.blogData?.featured.post_content.substring(0,300)+' . . .'}}></div>
{/* Post Meta */}
<div className="post-meta">
<div className="post-author-avatar"><img src="assets/images/post-author-1.jpg" alt="author-avatar" /></div>
<p>12 min read</p>
</div>
</div> {/* END BLOG POST TEXT */}
</div> {/* End row */}
</div>
} {/* END FEATURED POST */}
{/* POSTS WRAPPER */}
<div className="posts-wrapper">
{/* BLOG POSTS CATEGORY */}
+89 -18
View File
@@ -1,25 +1,94 @@
import React, {Component} from 'react';
import React, {Component, useState, useEffect} from 'react';
import SiteService from '../svs/SiteService';
class Contacts extends React.Component {
class Contacts extends Component {
constructor(props){
super(props)
this.state = {
formData: {
name: '',
email: '',
country: '',
phone: '',
message: ''
},
loading: false,
submitError: null,
submitSuccess: false,
};
}
handleInputChange = (event) => {
const { name, value } = event.target;
this.setState((prevState) => ({
formData: {
...prevState.formData,
[name]: value,
},
}));
};
handleSubmit = async(e) => {
e.preventDefault();
const apiCall = new SiteService();
const { formData } = this.state;
this.setState({ loading: true });
if(!formData.name && !formData.email && !formData.message) return;
console.log(formData)
try {
await apiCall.contactData(formData)
console.log('Success')
this.setState({
formData: {
name: '',
email: '',
country: '',
phone: '',
message: ''
},
loading: false,
submitError: null,
submitSuccess: false,
});
// if(res.status == 200){
// } else {
// throw new Error('Error submitting form');
// }
} catch (error) {
this.setState({
loading: false,
submitSuccess: false,
submitError: error,
});
console.log(error)
}
}
render() {
const {formData, loading, submitError, submitSuccess} = this.state
console.log(submitSuccess)
return(
<div>
{/* PRELOADER SPINNER
============================================= */}
{/* PRELOADER SPINNER */}
<div id="loader-wrapper">
<div id="loading">
<span className="cssload-loader"><span className="cssload-loader-inner" /></span>
</div>
</div>
{/* PAGE CONTENT
============================================= */}
{/* PAGE CONTENT */}
<div id="page" className="page">
{/* HEADER
============================================= */}
{/* CONTACTS-2
============================================= */}
{/* HEADER */}
{/* CONTACTS-2 */}
<section id="contacts-2" className="bg_whitesmoke hero-offset-nav pb-50 contacts-section division">
<div className="container">
{/* SECTION TITLE */}
@@ -39,7 +108,7 @@ class Contacts extends React.Component {
<div className="row">
<div className="col-lg-10 col-xl-8 offset-lg-1 offset-xl-2">
<div className="form-holder">
<form name="contactform" className="row contact-form">
<form name="contactform" className="row contact-form" onSubmit={this.handleSubmit}>
{/* Form Select */}
<div id="input-subject" className="col-md-12 input-subject">
<p className="p-lg">This question is about: </p>
@@ -57,21 +126,23 @@ class Contacts extends React.Component {
<div id="input-name" className="col-md-12">
<p className="p-lg">Your Name: </p>
<span>Please enter your real name: </span>
<input type="text" name="name" className="form-control name" placeholder="Your Name*" />
<input type="text" name="name" className="form-control name" placeholder="Your Name*" value={formData.name} onChange={this.handleInputChange} />
</div>
<div id="input-email" className="col-md-12">
<p className="p-lg">Your Email Address: </p>
<span>Please carefully check your email address for accuracy</span>
<input type="text" name="email" className="form-control email" placeholder="Email Address*" />
<input type="text" name="email" className="form-control email" placeholder="Email Address*" value={formData.email} onChange={this.handleInputChange} />
</div>
<div id="input-message" className="col-md-12 input-message">
<p className="p-lg">Explain your question in details: </p>
<span>Your OS version, NordEx version &amp; build, steps you did. Be VERY precise!</span>
<textarea className="form-control message" name="message" rows={6} placeholder="I have a problem with..." defaultValue={""} />
<span>Your OS version, steps you did. Be VERY precise!</span>
<textarea className="form-control message" name="message" rows={6} placeholder="I have a problem with..." value={formData.message} onChange={this.handleInputChange} />
</div>
{/* Contact Form Button */}
<div className="col-md-12 mt-15 form-btn text-right">
<button type="submit" className="btn btn-skyblue tra-skyblue-hover submit">Submit Request</button>
<button type="submit" className="btn btn-skyblue tra-skyblue-hover submit" disabled={loading}>
{loading ? 'Submitting...' : 'Submit Request'}
</button>
</div>
{/* Contact Form Message */}
<div className="col-lg-12 contact-form-msg">
+38 -132
View File
@@ -1,26 +1,25 @@
import React, {Component} from 'react';
import React, {Component, useState} from 'react';
class Faqs extends Component {
constructor(props){
super(props)
}
class Faqs extends React.Component {
render() {
const data = this.props.faqData
return(
<div>
{/* PRELOADER SPINNER
============================================= */}
{/* PRELOADER SPINNER */}
{/* PRELOADER SPINNER */}
<div id="loader-wrapper">
<div id="loading">
<span className="cssload-loader"><span className="cssload-loader-inner" /></span>
</div>
</div>
{/* PAGE CONTENT
============================================= */}
{/* PAGE CONTENT */}
<div id="page" className="page">
{/* HEADER
============================================= */}
{/* FAQs-2
============================================= */}
{/* HEADER */}
{/* FAQs-2 */}
<section id="faqs-2" className="bg_whitesmoke hero-offset-nav pb-100 faqs-section division">
<div className="container">
{/* SECTION TITLE */}
@@ -42,128 +41,40 @@ class Faqs extends React.Component {
{/* QUESTIONS HOLDER */}
<div className="col-lg-6">
<div className="questions-holder pc-10">
{/* QUESTION #1 */}
<div className="question wow fadeInUp" data-wow-delay="0.4s">
{data.map((item, idx) => {
let delay = 0.2
if(idx % 2 === 0){
delay *= Math.floor(idx / 2); // multiply delay by 2 for every odd idx
return (
<div className="question wow fadeInUp" data-wow-delay={delay} key={idx}>
{/* Question */}
<h5 className="h5-sm">How do I get started?</h5>
<h5 className="h5-sm">{item.title}</h5>
{/* Answer */}
<ul className="simple-list">
<li className="list-item">
<p className="p-lg">Fringilla risus, luctus mauris orci auctor purus</p>
</li>
<li className="list-item">
<p className="p-lg">Quaerat sodales sapien euismod blandit purus and ipsum primis in cubilia laoreet
augue luctus
</p>
</li>
</ul>
<p className="p-lg">{item.text}</p>
</div>
{/* QUESTION #2 */}
<div className="question wow fadeInUp" data-wow-delay="0.6s">
{/* Question */}
<h5 className="h5-sm">Can I see Float in action before purchasing it?</h5>
{/* Answer */}
<p className="p-lg">Etiam amet mauris suscipit in odio integer congue metus vitae arcu mollis blandit
ultrice ligula egestas and magna suscipit lectus magna suscipit luctus blandit vitae
</p>
</div>
{/* QUESTION #3 */}
<div className="question wow fadeInUp" data-wow-delay="0.8s">
{/* Question */}
<h5 className="h5-sm">What are the requirements for using Float?</h5>
{/* Answer */}
<p className="p-lg">An enim nullam tempor sapien gravida donec ipsum enim an porta justo integer at velna
vitae auctor integer congue undo magna at pretium purus pretium ligula
</p>
</div>
{/* QUESTION #4 */}
<div className="question wow fadeInUp" data-wow-delay="1s">
{/* Question */}
<h5 className="h5-sm">Can I use Float on different devices?</h5>
{/* Answer */}
<ul className="simple-list">
<li className="list-item">
<p className="p-lg">Fringilla risus, luctus mauris orci auctor purus ligula euismod pretium purus
pretium rutrum tempor sapien
</p>
</li>
<li className="list-item">
<p className="p-lg">Nemo ipsam egestas volute turpis dolores ut aliquam quaerat sodales sapien undo
pretium a purus
</p>
</li>
</ul>
</div>
{/* QUESTION #5 */}
<div className="question wow fadeInUp" data-wow-delay="1.2s">
{/* Question */}
<h5 className="h5-sm">Do you have a free trial?</h5>
{/* Answer */}
<p className="p-lg">Cubilia laoreet augue egestas and luctus donec curabite diam vitae dapibus libero and
quisque gravida donec neque. Blandit justo aliquam molestie nunc sapien justo
</p>
</div>
)
}
})}
</div>
</div> {/* END QUESTIONS HOLDER */}
{/* QUESTIONS HOLDER */}
<div className="col-lg-6">
<div className="questions-holder pc-10">
{/* QUESTION #6 */}
<div className="question wow fadeInUp" data-wow-delay="0.4s">
{data.map((item, idx) => {
let delay = 0.2
if(idx % 2 === 1){
delay *= Math.floor(idx / 2); // multiply delay by 2 for every even idx
return (
<div className="question wow fadeInUp" data-wow-delay={delay} key={idx}>
{/* Question */}
<h5 className="h5-sm">Troubles with verification</h5>
<h5 className="h5-sm">{item.title}</h5>
{/* Answer */}
<p className="p-lg">Cubilia laoreet augue egestas and luctus donec curabite diam vitae dapibus libero and
quisque gravida donec neque. Blandit justo aliquam molestie nunc sapien justo
</p>
</div>
{/* QUESTION #7 */}
<div className="question wow fadeInUp" data-wow-delay="0.6s">
{/* Question */}
<h5 className="h5-sm">How does Float handle my privacy?</h5>
{/* Answer */}
<p className="p-lg">Etiam amet mauris suscipit sit amet in odio. Integer congue leo metus. Vitae arcu mollis
blandit ultrice ligula
</p>
{/* Answer */}
<p className="p-lg">An enim nullam tempor sapien gravida donec congue leo metus. Vitae arcu mollis blandit
integer at velna
</p>
</div>
{/* QUESTION #8 */}
<div className="question wow fadeInUp" data-wow-delay="0.8s">
{/* Question */}
<h5 className="h5-sm">I have an issue with my account</h5>
{/* Answer */}
<ul className="simple-list">
<li className="list-item">
<p className="p-lg">Fringilla risus, luctus mauris orci auctor purus</p>
</li>
<li className="list-item">
<p className="p-lg">Quaerat sodales sapien euismod blandit purus and ipsum primis in cubilia laoreet
augue luctus
</p>
</li>
</ul>
</div>
{/* QUESTION #9 */}
<div className="question wow fadeInUp" data-wow-delay="1s">
{/* Question */}
<h5 className="h5-sm">What is the Float Membership?</h5>
{/* Answer */}
<p className="p-lg">Etiam amet mauris suscipit in odio integer congue metus vitae arcu mollis blandit
ultrice ligula egestas and magna suscipit lectus magna suscipit luctus blandit vitae
</p>
<p className="p-lg">{item.text}</p>
</div>
{/* QUESTION #10 */}
<div className="question wow fadeInUp" data-wow-delay="1.2s">
{/* Question */}
<h5 className="h5-sm">How do I cancel my Membership?</h5>
{/* Answer */}
<p className="p-lg">An enim nullam tempor sapien gravida donec ipsum enim an porta justo integer at velna
vitae auctor integer congue undo magna at pretium purus pretium ligula
</p>
</div>
)
}
})}
</div>
</div> {/* END QUESTIONS HOLDER */}
</div> {/* End row */}
@@ -182,8 +93,7 @@ class Faqs extends React.Component {
{/* GEOMETRIC OVERLAY */}
<div className="bg_fixed geometric_overlay" />
</section> {/* END FAQs-2 */}
{/* DOWNLOAD-2
============================================= */}
{/* DOWNLOAD-2 */}
<section id="download-2" className="bg_whitesmoke pb-20 download-section division">
<div className="container white-color">
<div className="rel purple_gradient bg_shape_01 downloads-2-wrapper">
@@ -206,11 +116,11 @@ class Faqs extends React.Component {
<div className="col-lg-5 text-right">
<div className="stores-badge">
{/* AppStore */}
<a href="#" className="store">
<a href={process.env.REACT_APP_APPLE_LINK} className="store">
<img className="appstore" src="assets/images/appstore-white.png" alt="appstore-logo" />
</a>
{/* Google Play */}
<a href="#" className="store">
<a href={process.env.REACT_APP_GOOGLE_PLAY_LINK} className="store">
<img className="googleplay" src="assets/images/googleplay-white.png" alt="googleplay-logo" />
</a>
</div>
@@ -219,11 +129,7 @@ class Faqs extends React.Component {
</div> {/* End row */}
</div> {/* End container */}
</section> {/* END DOWNLOAD-2 */}
</div> {/* END PAGE CONTENT */}
</div>
)
}
+35 -98
View File
@@ -27,6 +27,8 @@ class FloatHome extends React.Component {
}
render() {
const faqData = this.props.faqData
console.log(faqData)
return(
<div>
{/* PRELOADER SPINNER ============================================= */}
@@ -882,114 +884,49 @@ class FloatHome extends React.Component {
{/* QUESTIONS ACCORDION */}
<div className="col-lg-8">
<div id="accordion" role="tablist" className="pc-20">
{/* QUESTION #1 */}
<div className="card grey-color">
{faqData.map((item, idx) => {
if(idx == 0){
return(
<div className="card grey-color" key={idx}>
{/* Question */}
<div className="card-header" role="tab" id="headingOne">
<h5 className="h5-sm">
<a data-toggle="collapse" href="#collapseOne" role="button" aria-expanded="true" aria-controls="collapseOne">
{item.title}
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseOne" className="collapse show" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">{item.text}</p>
</div>
</div>
</div>
)
}else{
return(
<div className="card grey-color" key={idx}>
{/* Question */}
<div className="card-header" role="tab" id="headingOne">
<div className="card-header" role="tab" id={`heading${idx}`}>
<h5 className="h5-sm">
<a data-toggle="collapse" href="#collapseOne" role="button" aria-expanded="true" aria-controls="collapseOne">
Can I see Float in action before purchasing it?
<a className="collapsed" data-toggle="collapse" href={`#collapse${idx}`} role="button" aria-expanded="false" aria-controls={`collapse${idx}`}>
{item.title}
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseOne" className="collapse show" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
<div id={`collapse${idx}`} className="collapse" role="tabpanel" aria-labelledby={`heading${idx}`} data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">Maecenas gravida porttitor quis vehicula magna luctus tempor. Quisque vel laoreet
turpis. Viverra urna augue, a augue dictum tempor. Sed pulvinar nibh consectetur varius viverra.
Laoreet augue ac massa lorem nulla
</p>
<p className="p-lg">{item.text}</p>
</div>
</div>
</div> {/* END QUESTION #1 */}
{/* QUESTION #2 */}
<div className="card grey-color">
{/* Question */}
<div className="card-header" role="tab" id="headingTwo">
<h5 className="h5-sm">
<a className="collapsed" data-toggle="collapse" href="#collapseTwo" role="button" aria-expanded="false" aria-controls="collapseTwo">
Ive got iPhone 5. Is Float compatible with it?
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseTwo" className="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">Sagittis congue augue egestas volutpat egestas magna suscipit egestas magna ipsum
vitae purus an efficitur ipsum primis in cubilia laoreet augue egestas luctus donec curabitur
dapibus libero tempor
</p>
</div>
</div>
</div> {/* END QUESTION #2 */}
{/* QUESTION #3 */}
<div className="card grey-color">
{/* Question */}
<div className="card-header" role="tab" id="headingThree">
<h5 className="h5-sm">
<a className="collapsed" data-toggle="collapse" href="#collapseThree" role="button" aria-expanded="false" aria-controls="collapseThree">
What are the requirements for using Float?
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseThree" className="collapse" role="tabpanel" aria-labelledby="headingThree" data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">Sagittis congue augue egestas volutpat egestas magna suscipit egestas and magna
ipsum vitae purus and efficitur ipsum primis in cubilia laoreet
</p>
{/* Text */}
<p className="p-lg">Sapien egestas, congue gestas posuere cubilia congue ipsum mauris lectus laoreet
gestas neque vitae auctor eros dolor luctus placerat a magna cursus congue magna nihil mpedit
ligula sem congue tempor gravida
</p>
</div>
</div>
</div> {/* END QUESTION #3 */}
{/* QUESTION #4 */}
<div className="card grey-color">
{/* Question */}
<div className="card-header" role="tab" id="headingFour">
<h5 className="h5-sm">
<a className="collapsed" data-toggle="collapse" href="#collapseFour" role="button" aria-expanded="false" aria-controls="collapseFour">
How does Float handle my privacy?
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseFour" className="collapse" role="tabpanel" aria-labelledby="headingFour" data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">An augue cubilia laoreet and magna suscipit egestas magna ipsum purus ipsum primis
and augue ultrice ligula egestas suscipit lectus gestas integer congue a lectus porta tristique phasellus neque blandit and tristique
</p>
</div>
</div>
</div> {/* END QUESTION #4 */}
{/* QUESTION #5 */}
<div className="card last-card grey-color">
{/* Question */}
<div className="card-header" role="tab" id="headingFive">
<h5 className="h5-sm">
<a className="collapsed" data-toggle="collapse" href="#collapseFive" role="button" aria-expanded="false" aria-controls="collapseFive">
How can I cancel my account?
</a>
</h5>
</div>
{/* Answer */}
<div id="collapseFive" className="collapse" role="tabpanel" aria-labelledby="headingFive" data-parent="#accordion">
<div className="card-body">
{/* Text */}
<p className="p-lg">Curabitur ac dapibus libero. Quisque eu congue tristique neque. Phasellus blandit
tristique justo undo aliquam. Aliquam vitae molestie nunc. Quisque sapien justo, aliquet non
molestie sed purus, venenatis sem tempor
</p>
</div>
</div>
</div> {/* END QUESTION #5 */}
</div>
)
}
})}
</div> {/* END ACCORDION */}
{/* MORE QUESTIONS BUTTON */}
<div className="more-questions pc-20 mt-35">
+3 -188
View File
@@ -145,31 +145,7 @@ class Single_post extends React.Component {
</p>
</li>
</ul>
{/* Small Title */}
<h5 className="h5-md">Egestas volutpat egestas</h5>
{/* Text */}
<p className="p-lg">In at mauris vel nisl convallis porta at vitae dui. Nam lacus ligula, vulputate molestie bibendum
quis, aliquet elementum massa. Vestibulum ut sagittis odio. Ac massa lorem. Fusce eu cursus est. Fusce non nulla vitae massa placerat vulputate vel a purus aliqum mullam blandit
</p>
{/* Text */}
<p className="p-lg">Maecenas gravida porttitor nunc, quis vehicula magna luctus tempor. Quisque laoreet a turpis urna
augue, viverra a augue eget, dictum tempor diam. Sed pulvinar nibh, vel imperdiet congue varius viverra.
Sapien justo massa lorem. Fusce eu cursus non nulla vitae massa placerat purus. Sagittis congue augue egestas
volutpat egestas magna suscipit egestas magna ipsum vitae purus efficitur ipsum primis in cubilia laoreet augue egestas luctus donec
</p>
{/* BLOG POST INNER IMAGE */}
<div className="post-inner-img">
<div className="video-preview pc-15">
{/* Play Icon */}
<a className="video-popup1" href="https://www.youtube.com/embed/SZEflIVnhH8">
<div className="video-btn video-btn-lg bg_rose ico-75">
<div className="video-block-wrapper"><span className="flaticon-play-button-1" /></div>
</div>
</a>
{/* Preview Image */}
<img className="img-fluid" src="assets/images/blog/inner-img-2.jpg" alt="blog-post-image" />
</div>
</div>
{/* Small Title */}
<h5 className="h5-md">Vitae massa placerat vulputate</h5>
{/* Text */}
@@ -216,10 +192,7 @@ class Single_post extends React.Component {
<div className="row post-share-links d-flex align-items-center">
{/* POST TAGS */}
<div className="col-md-9 col-xl-8 post-tags-list">
<span><a href="#">Life</a></span>
<span><a href="#">Ideas</a></span>
<span><a href="#">Story</a></span>
<span><a href="#">Web Design</a></span>
</div>
{/* POST SHARE ICONS */}
<div className="col-md-3 col-xl-4 post-share-list text-right">
@@ -263,165 +236,7 @@ class Single_post extends React.Component {
{/* GEOMETRIC OVERLAY */}
<div className="bg_fixed geometric_overlay" />
</section> {/* END SINGLE POST */}
{/* POST COMMENTS
============================================= */}
<section id="post-comments" className="bg_whitesmoke pb-80 post-comments division">
<div className="container">
<div className="row">
{/* COMMENTS WRAPPER */}
<div className="col-lg-10 offset-lg-1">
<div className="comments-wrapper">
{/* Title */}
<h5 className="h5-lg">4 Comments</h5>
{/* COMMENT #1 */}
<div className="media">
{/* Comment-1 Avatar */}
<img className="mr-3" src="assets/images/post-author-1.jpg" alt="comment-avatar" />
<div className="media-body">
{/* Comment-1 Meta */}
<div className="comment-meta">
<h5 className="h5-sm mt-0">Thomas</h5>
<span className="comment-date">5 days ago- </span>
<span className="btn-reply ico-20">
<a href="#leave-comment" className="internal-link"><span className="flaticon-reply-arrow" /> Reply</a>
</span>
</div>
{/* Comment-1 Text */}
<p className="p-lg mb-40">Etiam sapien sem magna at vitae pulvinar congue augue egestas pretium neque undo viverra
suscipit egestas magna porta ratione, mollis risus lectus porta rutrum aenean primis in augue luctus neque purus ipsum neque dolor primis purus efficitur an ipsum primis in cubilia laoreet augue
</p>
<hr />
{/* COMMENT #2 */}
<div className="media">
{/* Comment-2 Avatar */}
<a href="#" className="pr-3">
<img src="assets/images/post-author-2.jpg" alt="comment-avatar" />
</a>
<div className="media-body">
{/* Comment-2 Meta */}
<div className="comment-meta">
<h5 className="h5-sm mt-0">David Clark</h5>
<span className="comment-date">6 days ago- </span>
<span className="btn-reply ico-20">
<a href="#leave-comment" className="internal-link"><span className="flaticon-reply-arrow" /> Reply</a>
</span>
</div>
{/* Comment-2 Text */}
<p className="p-lg">Etiam sapien magna at vitae pulvinar congue egestas a pretium neque viverra suscipit
porta ratione, mollis risus lectus porta aliquet lorem puruss mollis
</p>
</div>
</div> {/* END COMMENT #2 */}
</div>
</div> {/* END COMMENT #1 */}
<hr />
{/* COMMENT #3 */}
<div className="media">
{/* Comment-4 Avatar */}
<img className="mr-3" src="assets/images/post-author-3.jpg" alt="comment-avatar" />
<div className="media-body">
{/* Comment-4 Meta */}
<div className="comment-meta">
<h5 className="h5-sm mt-0">Jasmine</h5>
<span className="comment-date">13 days ago- </span>
<span className="btn-reply ico-20">
<a href="#leave-comment" className="internal-link"><span className="flaticon-reply-arrow" /> Reply</a>
</span>
</div>
{/* Comment-4 Text */}
<p className="p-lg">Porta ratione, mollis risus lectus porta rutrum arcu aenean primis in augue luctus and neque
purus ipsum neque dolor primis libero tempus, tempor posuere ligula varius an impedit enim tempor vitae
pulvinar at congue augue egestas. Praesent aliquet lorem purus, quis mollis nisi laoreet
</p>
</div>
</div> {/* END COMMENT #3 */}
<hr />
{/* COMMENT #4 */}
<div className="media">
{/* Comment-4 Avatar */}
<img className="mr-3" src="assets/images/post-author-4.jpg" alt="comment-avatar" />
<div className="media-body">
{/* Comment-4 Meta */}
<div className="comment-meta">
<h5 className="h5-sm mt-0">Rady Smith</h5>
<span className="comment-date">42 days ago- </span>
<span className="btn-reply ico-20">
<a href="#leave-comment" className="internal-link"><span className="flaticon-reply-arrow" /> Reply</a>
</span>
</div>
{/* Comment-4 Text */}
<p className="p-lg">Etiam sapien sem magna at vitae pulvinar congue augue egestas pretium neque undo viverra
suscipit egestas magna porta ratione, mollis risus lectus porta rutrum arcu an aenean primis auctor
</p>
</div>
</div> {/* END COMMENT #4 */}
<hr />
{/* COMMENT FORM */}
<div id="leave-comment">
{/* Title */}
<h5 className="h5-lg">Leave a Comment</h5>
{/* Text */}
<p className="p-md">Your email address will not be published. Required fields are marked *</p>
<form name="commentForm" className="row comment-form">
<div className="col-md-12 input-message">
<p>Add Comment *</p>
<textarea className="form-control message" name="message" rows={6} placeholder="Enter Your Comment Here* ..." required defaultValue={""} />
</div>
<div className="col-md-12">
<p>Name*</p>
<input type="text" name="name" className="form-control name" placeholder="Enter Your Name*" required />
</div>
<div className="col-md-12">
<p>Email*</p>
<input type="email" name="email" className="form-control email" placeholder="Enter Your Email*" required />
</div>
{/* Contact Form Button */}
<div className="col-lg-12 form-btn">
<button type="submit" className="btn btn-skyblue tra-skyblue-hover submit">Post Comment</button>
</div>
{/* Contact Form Message */}
<div className="col-md-12 comment-form-msg text-center">
<div className="sending-msg"><span className="loading" /></div>
</div>
</form>
</div> {/* END COMMENT FORM */}
</div>
</div> {/* END COMMENTS WRAPPER */}
</div> {/* End row */}
</div> {/* End container */}
</section> {/* END POST COMMENTS */}
{/* NEWSLETTER-1
============================================= */}
<section id="newsletter-1" className="bg_whitesmoke pb-20 newsletter-section division">
<div className="container">
<div className="newsletter-wrapper bg-white">
<div className="row d-flex align-items-center">
{/* SECTION TITLE */}
<div className="col-lg-6">
<div className="newsletter-txt">
{/* Section ID */}
<span className="section-id">Subscribe to Our Newsletter</span>
{/* Title */}
<h4 className="h4-xl">Stay up to date with our news, ideas and updates</h4>
</div>
</div>
{/* NEWSLETTER FORM */}
<div className="col-lg-6">
<form className="newsletter-form">
<div className="input-group">
<input type="email" autoComplete="off" className="form-control" placeholder="Your email address" required id="s-email" />
<span className="input-group-btn">
<button type="submit" className="btn btn-md btn-skyblue tra-skyblue-hover">Subscribe Now</button>
</span>
</div>
{/* Newsletter Form Notification */}
<label htmlFor="s-email" className="form-notification" />
</form>
</div> {/* END NEWSLETTER FORM */}
</div> {/* End row */}
</div> {/* End newsletter-holder */}
</div> {/* End container */}
</section> {/* END NEWSLETTER-1 */}
</div> {/* END PAGE CONTENT */}
+2 -2
View File
@@ -50,13 +50,13 @@ export const Testimonial = [
}
},
{
name: 'Chelse Smith',
name: 'Toks Law',
title: 'Project Management',
desc: 'Chelsea has just moved into a new house in central Auckland, NZ so she can be closer to EVERYTHING; restaurants, bars and public transport. She loves exploring the many transit options that come with the new territory.',
image: 'assets/images/team-8.jpg',
link: {
href: '#',
domain: 'matthewanderson'
domain: 'tokslaw'
}
}
]
+1 -1
View File
@@ -8,7 +8,7 @@ class SiteService {
}
// Blog Data {Get}
blogData() {
return this.getAuxEnd("/blogdata/10", null);
return this.getAuxEnd("/blogdata", null);
}
// Country Data {GET}