Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 914a6ee1eb | |||
| f83ddcba82 | |||
| 5d45cee0cf | |||
| e00f07c1d5 |
@@ -55,9 +55,6 @@
|
||||
<!--
|
||||
need jv8
|
||||
-->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
<script>var LHC_API = LHC_API||{};
|
||||
LHC_API.args = {mode:'widget',lhc_base_url:'//chat.live.wrenchboard.com/',wheight:450,wwidth:350,pheight:520,pwidth:500,leaveamessage:true,check_messages:false};
|
||||
|
||||
@@ -19,7 +19,7 @@ function getConfig() {
|
||||
"support_us_address": 'Cumberland Pkwy, Atlanta GA 30339',
|
||||
"support_ng_address": 'Saka Tinubu Street, Victoria Island Lagos, Nigeria',
|
||||
"dummy": "2018-06-25T18:54:22.000Z",
|
||||
"user_service_endpoint": "https://dashboard.wrenchboard.com/svs/user",
|
||||
"user_service_endpoint": process.env.REACT_APP_AUX_ENDPOINT,
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import getConfig from './../Config/config'
|
||||
async function ContactData(callData) {
|
||||
// debugger;
|
||||
var site = getConfig()[0];
|
||||
let response = await Axios.post(`${process.env.REACT_APP_AUX_ENDPOINT}/sitecontact`, callData);
|
||||
let response = await Axios.post(`${site.user_service_endpoint}/sitecontact`, callData);
|
||||
return response.data.result;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import Axios from 'axios';
|
||||
import getConfig from './../Config/config'
|
||||
|
||||
async function FaqData() {
|
||||
// debugger;
|
||||
var site = getConfig()[0];
|
||||
let response = await Axios.post(`${site.user_service_endpoint}/faq`);
|
||||
return await response;
|
||||
}
|
||||
|
||||
export default FaqData;
|
||||
@@ -2490,6 +2490,10 @@ p {
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.appie-single-service-2 .icon img {
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
.appie-single-service-2 .title {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
@@ -2634,10 +2638,13 @@ p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.service-details-sidebar .service-category-widget ul li i {
|
||||
color: #2b70fa;
|
||||
color: #4687ba;
|
||||
width: 15px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.service-details-sidebar .service-category-widget ul li a {
|
||||
color: #4687ba;
|
||||
}
|
||||
.service-details-sidebar .service-category-widget ul li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@@ -2651,10 +2658,10 @@ p {
|
||||
color: #505056;
|
||||
}
|
||||
.service-details-sidebar .service-download-widget a:hover {
|
||||
color: #2b70fa;
|
||||
color: #4687ba;
|
||||
}
|
||||
.service-details-sidebar .service-download-widget i {
|
||||
color: #2b70fa;
|
||||
color: #4687ba;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
@@ -2676,6 +2683,9 @@ p {
|
||||
padding-top: 34px;
|
||||
padding-bottom: 26px;
|
||||
}
|
||||
.service-details-content .content p a {
|
||||
color: #4687ba;
|
||||
}
|
||||
|
||||
.appie-services-8-area .service-thumb {
|
||||
margin-left: -50px;
|
||||
@@ -5600,7 +5610,7 @@ blockquote cite {
|
||||
ul
|
||||
li
|
||||
a:hover {
|
||||
color: #db0f30;
|
||||
color: #4687ba;
|
||||
}
|
||||
.appie-footer-area.appie-footer-about-area.appie-footer-8-area
|
||||
.footer-widget-info
|
||||
@@ -5731,7 +5741,7 @@ blockquote cite {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.footer-navigation ul li a:hover {
|
||||
color: #2b70fa;
|
||||
color: #4687ba;
|
||||
}
|
||||
.footer-navigation.footer-navigation-2 ul li a:hover {
|
||||
color: #ff3e66;
|
||||
@@ -8219,3 +8229,71 @@ blockquote cite {
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
||||
|
||||
/* CSS FOR FAQ ACCORDION DISPLAY */
|
||||
.accordion-con{
|
||||
background-color: #f5f6f7;
|
||||
}
|
||||
|
||||
.accordion-item{
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
/* z-index: 1; */
|
||||
border-radius: 5px;
|
||||
box-shadow: 0px 0px 15px #ddd;
|
||||
padding: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.accordion-title-bar{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
.accordion-title p {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.accordion-title-icon{
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.accordion-title-icon img{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.horizontal{
|
||||
transition: all .5s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: skyblue;
|
||||
color: #fff;
|
||||
border-radius: 999px;
|
||||
padding: 2px 3px;
|
||||
}
|
||||
.vertical{
|
||||
transform: rotate(180deg);
|
||||
background-color: #4687ba;
|
||||
}
|
||||
|
||||
.accordion-body-hide{
|
||||
position: relative;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
transition: all .5s;
|
||||
}
|
||||
.accordion-body-show{
|
||||
position: relative;
|
||||
/* height: 100px; */
|
||||
visibility: visible;
|
||||
transition: all .5s;
|
||||
/* animation-name: slidedown;
|
||||
animation-timing-function: linear;
|
||||
animation-duration: .5s;
|
||||
animation-fill-mode: forwards; */
|
||||
}
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@@ -31,13 +31,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="200ms"
|
||||
>
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-tv"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Design} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Design} />
|
||||
</div>
|
||||
<h4 className="title">Carefully designed</h4>
|
||||
<p>We listen to how the users will love to use our tools. It is always about the users</p>
|
||||
@@ -49,16 +47,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="400ms"
|
||||
>
|
||||
{/* <div className="icon">
|
||||
<i className="fal fa-code"></i>
|
||||
</div> */}
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-code"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Approach} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Approach} />
|
||||
</div>
|
||||
<h4 className="title">Modern Approach</h4>
|
||||
<p>Our target is to present a cutting-edge solution that serves the users at all times.</p>
|
||||
@@ -70,16 +63,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="600ms"
|
||||
>
|
||||
{/* <div className="icon">
|
||||
<i className="fal fa-user-friends"></i>
|
||||
</div> */}
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-user-friends"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Interactive} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Interactive} />
|
||||
</div>
|
||||
<h4 className="title">User Interactive</h4>
|
||||
<p>Email, notifications, and alerts to get you engaged in the process.</p>
|
||||
@@ -91,16 +79,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="200ms"
|
||||
>
|
||||
{/* <div className="icon">
|
||||
<i className="fal fa-mobile"></i>
|
||||
</div> */}
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-mobile"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Mobility} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Mobility} />
|
||||
</div>
|
||||
<h4 className="title">Mobility Approach</h4>
|
||||
<p>Web and native app solution for your continuously moving life.</p>
|
||||
@@ -112,16 +95,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="400ms"
|
||||
>
|
||||
{/* <div className="icon">
|
||||
<i className="fal fa-retweet"></i>
|
||||
</div> */}
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-retweet"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Seamless} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Seamless} />
|
||||
</div>
|
||||
<h4 className="title">Seamless Sync</h4>
|
||||
<p> Changes across platforms is simplified and streamlined.</p>
|
||||
@@ -133,16 +111,11 @@ function ServicesAbout() {
|
||||
data-wow-duration="2000ms"
|
||||
data-wow-delay="600ms"
|
||||
>
|
||||
{/* <div className="icon">
|
||||
<i className="fal fa-bell"></i>
|
||||
</div> */}
|
||||
<div className="icon d-flex justify-content-between align-items-end">
|
||||
<div className='container'>
|
||||
<div className="icon d-flex justify-content-center align-items-center">
|
||||
{/* <div className='container'>
|
||||
<i className="fal fa-bell"></i>
|
||||
</div>
|
||||
<div className='container'>
|
||||
<img src={Privacy} />
|
||||
</div>
|
||||
</div> */}
|
||||
<img src={Privacy} />
|
||||
</div>
|
||||
<h4 className="title">Privacy</h4>
|
||||
<p>We truly respect your need for privacy. Our solution doesn't need to share your data to work for you.</p>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import useToggle from '../../Hooks/useToggle';
|
||||
import Drawer from '../Mobile/Drawer';
|
||||
import HeaderService from '../Service/HeaderService';
|
||||
import HeroService from '../Service/HeroService';
|
||||
import FooterHomeOne from '../HomeOne/FooterHomeOne';
|
||||
import BackToTop from '../BackToTop';
|
||||
import StickyMenu from '../../lib/StickyMenu';
|
||||
import FAQService from '../Service/FAQServices';
|
||||
import HeroNews from '../News/HeroNews';
|
||||
import HeaderNews from '../News/HeaderNews';
|
||||
|
||||
|
||||
function FAQ() {
|
||||
@@ -17,8 +17,14 @@ function FAQ() {
|
||||
return (
|
||||
<>
|
||||
<Drawer drawer={drawer} action={drawerAction.toggle} />
|
||||
<HeaderService action={drawerAction.toggle} />
|
||||
<HeroService title="FAQ" />
|
||||
<HeaderNews action={drawerAction.toggle} />
|
||||
<HeroNews
|
||||
title="Frequently asked questions"
|
||||
breadcrumb={[
|
||||
{ link: '/', title: 'home' },
|
||||
{ link: '/faq', title: 'Faq' },
|
||||
]}
|
||||
/>
|
||||
<FAQService />
|
||||
<FooterHomeOne />
|
||||
<BackToTop />
|
||||
|
||||
@@ -1,13 +1,29 @@
|
||||
import React from 'react';
|
||||
import thumb from '../../assets/images/service-page.jpg';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import ServiceSideMenu from './ServiceSideMenu';
|
||||
import getConfig from './../../Config/config'
|
||||
import {Link} from 'react-router-dom'
|
||||
import FaqData from '../../Services/FaqData';
|
||||
import Arrow from '../../assets/images/arrow-down.png'
|
||||
|
||||
function FAQService() {
|
||||
var site = getConfig()[0];
|
||||
const [isOpen, setOpen] = React.useState({type: 'faq0'});
|
||||
const accordionHandler = (name) => {
|
||||
setOpen(prev => {
|
||||
if(prev.type == name){
|
||||
return {type: ''}
|
||||
}else {
|
||||
return {type: name}
|
||||
}
|
||||
});
|
||||
};
|
||||
let [faq, setFaq] = useState([])
|
||||
|
||||
let dummyFaq = [1,2,3,4,5]
|
||||
useEffect(()=>{
|
||||
FaqData().then(res => {
|
||||
setFaq(res.data.result_list)
|
||||
}).catch(err => {
|
||||
console.log('You got an error ========> '+ err)
|
||||
})
|
||||
},[])
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -17,32 +33,37 @@ function FAQService() {
|
||||
<div className="col-lg-4">
|
||||
<ServiceSideMenu />
|
||||
</div>
|
||||
<div className="col-lg-8">
|
||||
<div className="faq-details-content">
|
||||
<div className="col-lg-8 accordion-wrapper">
|
||||
<div className="p-3 service-details-content accordion-con">
|
||||
<div className="container-fluid">
|
||||
<h1 className='display-4'>Frequently asked questions</h1>
|
||||
<h3 className='p-3 text-center'>Frequently asked questions</h3>
|
||||
</div>
|
||||
<div class="accordion" id="accordionExample">
|
||||
{dummyFaq.map((item, index)=>(
|
||||
<div key={index} class="card">
|
||||
<div class="card-header" id={`heading${index}`}>
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target={`#collapse${index}`} aria-expanded="true" aria-controls={`collapse${index}`}>
|
||||
Item {index+1}
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div id={`collapse${index}`} class={`${index > 0 ? 'collapse' : 'collapse show'}`} aria-labelledby={`heading${index}`} data-parent="#accordionExample">
|
||||
<div class="card-body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
<div className='row'>
|
||||
<div class="col-12 col-lg-6 accordion" id="accordionExample">
|
||||
{faq.map((item, index)=>{
|
||||
if(index%2 == 0){
|
||||
return(
|
||||
<div key={index} className='my-3'>
|
||||
<Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})}
|
||||
</div>
|
||||
<div class="col-12 col-lg-6 accordion" id="accordionExample">
|
||||
{faq.map((item, index)=>{
|
||||
if(index%2 != 0){
|
||||
return(
|
||||
<div key={index} className='my-3'>
|
||||
<Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
<div className='container-fluid text-center'>
|
||||
<p className='my-2'>Can't find an answer <Link to='/contact'>contact us</Link> </p>
|
||||
<p className='my-4'>Can't find an answer <Link to='/contact'>contact us</Link> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -53,4 +74,42 @@ function FAQService() {
|
||||
);
|
||||
}
|
||||
|
||||
export default FAQService;
|
||||
export default FAQService;
|
||||
|
||||
export function Accordion({ datas, name, accordionHandler, isOpen }) {
|
||||
// const [isOpen, setOpen] = React.useState(false);
|
||||
// const accordionHandler = () => {
|
||||
// setOpen(!isOpen);
|
||||
// };
|
||||
return (
|
||||
<>
|
||||
<div className="accordion-item">
|
||||
<div
|
||||
className="accordion-title-bar container-fluid"
|
||||
onClick={()=>{accordionHandler(name)}}
|
||||
>
|
||||
<div className="accordion-title">
|
||||
<p className="">
|
||||
{datas.title}
|
||||
</p>
|
||||
</div>
|
||||
<div className="accordion-title-icon">
|
||||
<span className={`horizontal ${isOpen.type == name ? 'vertical' : ''}`}>
|
||||
<img className="" src={Arrow} />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className={`${isOpen.type == name ? "accordion-body-show" : "accordion-body-hide"}`}>
|
||||
<div className="accordion-body-content" style={{display: 'flex', padding: '10px'}}>
|
||||
<div className="rounded-[28px]" style={{width: '3px', backgroundColor: 'skyblue'}}></div>
|
||||
<div className="flex-1">
|
||||
<p className="" style={{padding: '0px 10px', letterSpacing:'.5px'}}>
|
||||
{datas.msg}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||