Compare commits

...

12 Commits

Author SHA1 Message Date
victorAnumudu dae969adf3 made faq to show information where public is 1 2023-06-29 16:48:56 +01:00
ameye 0e6a4f00b9 Merge branch 'font-revamp' of WrenchBoard/WrenchBoardMainSite into master 2023-06-28 21:27:57 +00:00
victorAnumudu ded83ed1bb home page font fix 2023-06-28 21:58:27 +01:00
CHIEFSOFT\ameye 70185d8069 home image 2023-06-28 06:44:37 -04:00
ameye 9fba8adc43 Merge branch 'about-icon-centralized' of WrenchBoard/WrenchBoardMainSite into master 2023-06-28 10:42:21 +00:00
victorAnumudu 2985d27c43 service banner replaced with breadcrumb 2023-06-28 07:21:07 +01:00
victorAnumudu 1478578a2e about icon centralized 2023-06-28 07:17:15 +01:00
ameye b5b97fb04f Merge branch 'job-listing' of WrenchBoard/WrenchBoardMainSite into master 2023-06-27 22:44:54 +00:00
victorAnumudu 1617c549f1 current job list overflow fixed and count down added 2023-06-27 23:40:32 +01:00
CHIEFSOFT\ameye 752500547f environ fix production 2023-06-27 11:43:55 -04:00
ameye 8b9c3fe768 Merge branch 'env-variables' of WrenchBoard/WrenchBoardMainSite into master 2023-06-27 15:25:49 +00:00
CHIEFSOFT\ameye f845bcb7aa style change 2023-06-27 10:08:03 -04:00
10 changed files with 130 additions and 46 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
ESLINT_NO_DEV_ERRORS=true ESLINT_NO_DEV_ERRORS=true
REACT_APP_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1" REACT_APP_AUX_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1" REACT_APP_USERS_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_SITE_NAME='WrenchBoard' REACT_APP_SITE_NAME='WrenchBoard'
REACT_APP_DASH_URL='https://users.wrenchboard.com' REACT_APP_DASH_URL='https://users.wrenchboard.com'
+2 -2
View File
@@ -16,8 +16,8 @@ async function JobsData() {
}); });
} }
*/ */
let response = await Axios.post(process.env.REACT_APP_AUX_ENDPOINT + "/startjoblist", callData); let response = await Axios.post(process.env.REACT_APP_AUX_ENDPOINT+'/startjoblist', callData);
return response.data.result_list; return await response;
} }
export default JobsData; export default JobsData;
+18 -11
View File
@@ -174,34 +174,36 @@ p {
.appie-section-title .appie-title { .appie-section-title .appie-title {
font-size: 44px; font-size: 44px;
line-height: 54px; line-height: 54px;
color: #08538d; /* color: #08538d; */
letter-spacing: 2px;
text-shadow: 0px 4px 10px rgba(0,0,0,0.3);
} }
@media only screen and (min-width: 992px) and (max-width: 1200px) { @media only screen and (min-width: 992px) and (max-width: 1200px) {
.appie-section-title .appie-title { .appie-section-title .appie-title {
font-size: 36px; font-size: 36px;
line-height: 46px; line-height: 46px;
color: #08538d; /* color: #08538d; */
} }
} }
@media only screen and (min-width: 768px) and (max-width: 991px) { @media only screen and (min-width: 768px) and (max-width: 991px) {
.appie-section-title .appie-title { .appie-section-title .appie-title {
font-size: 36px; font-size: 36px;
line-height: 46px; line-height: 46px;
color: #08538d; /* color: #08538d; */
} }
} }
@media (max-width: 767px) { @media (max-width: 767px) {
.appie-section-title .appie-title { .appie-section-title .appie-title {
font-size: 26px; font-size: 26px;
line-height: 36px; line-height: 36px;
color: #08538d; /* color: #08538d; */
} }
} }
@media only screen and (min-width: 576px) and (max-width: 767px) { @media only screen and (min-width: 576px) and (max-width: 767px) {
.appie-section-title .appie-title { .appie-section-title .appie-title {
font-size: 36px; font-size: 36px;
line-height: 46px; line-height: 46px;
color: #08538d; /* color: #08538d; */
} }
} }
.appie-section-title p { .appie-section-title p {
@@ -1430,6 +1432,8 @@ p {
line-height: 80px; line-height: 80px;
padding: 0 80px; padding: 0 80px;
color: #08538d; color: #08538d;
letter-spacing: 2px;
text-shadow: 0px 4px 10px rgba(0,0,0,0.3);
} }
@media only screen and (min-width: 992px) and (max-width: 1200px) { @media only screen and (min-width: 992px) and (max-width: 1200px) {
.appie-hero-area.appie-hero-3-area .appie-hero-content .appie-title { .appie-hero-area.appie-hero-3-area .appie-hero-content .appie-title {
@@ -1735,6 +1739,8 @@ p {
line-height: 70px; line-height: 70px;
margin-top: 10px; margin-top: 10px;
margin-bottom: 22px; margin-bottom: 22px;
letter-spacing: 4.6px;
text-shadow: 0px 4px 10px rgba(0,0,0,0.3);
} }
@media only screen and (min-width: 992px) and (max-width: 1200px) { @media only screen and (min-width: 992px) and (max-width: 1200px) {
.appie-hero-content .appie-title { .appie-hero-content .appie-title {
@@ -2313,7 +2319,7 @@ p {
4.APPIE SERVOCE css 4.APPIE SERVOCE css
===========================*/ ===========================*/
.appie-service-area { .appie-service-area {
background: #eef1f6; background: #fbf4fe;
position: relative; position: relative;
background-position: 92% 100%; background-position: 92% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
@@ -2468,7 +2474,7 @@ p {
.appie-single-service-2 { .appie-single-service-2 {
border: 1px solid #eef0f4; border: 1px solid #eef0f4;
border-radius: 10px; border-radius: 10px;
padding: 48px; padding: 40px;
-webkit-transition: all 0.3s ease-out 0s; -webkit-transition: all 0.3s ease-out 0s;
-moz-transition: all 0.3s ease-out 0s; -moz-transition: all 0.3s ease-out 0s;
-ms-transition: all 0.3s ease-out 0s; -ms-transition: all 0.3s ease-out 0s;
@@ -2547,19 +2553,19 @@ p {
} }
.appie-single-service-2.appie-single-service-about { .appie-single-service-2.appie-single-service-about {
border-radius: 0; border-radius: 0;
padding: 0 90px 30px 0; /* padding: 0 30px 30px 0; */
border: 0; border: 0;
transition: all linear 0.3s; transition: all linear 0.3s;
} }
@media only screen and (min-width: 992px) and (max-width: 1200px) { @media only screen and (min-width: 992px) and (max-width: 1200px) {
.appie-single-service-2.appie-single-service-about { .appie-single-service-2.appie-single-service-about {
padding-right: 30px; /* padding-right: 30px; */
} }
} }
@media (max-width: 767px) { @media (max-width: 767px) {
.appie-single-service-2.appie-single-service-about { .appie-single-service-2.appie-single-service-about {
padding-right: 50px; /* padding-right: 50px;
padding-left: 50px; padding-left: 50px; */
} }
} }
.appie-single-service-2.appie-single-service-about .icon i { .appie-single-service-2.appie-single-service-about .icon i {
@@ -3002,6 +3008,7 @@ p {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
z-index: 15; z-index: 15;
background-color: #fbf4fe;
} }
.appie-traffic-area .traffic-thumb { .appie-traffic-area .traffic-thumb {
position: absolute; position: absolute;
Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 58 KiB

+72
View File
@@ -0,0 +1,72 @@
import React, { useEffect, useState } from 'react';
const CountDownTimer = ({ targetDate, aboutToExpire=false }) => {
const calculateTimeLeft = () => {
const difference = +new Date(targetDate) - +new Date();
let timeLeft = {};
if (difference > 0) {
timeLeft = {
days: Math.floor(difference / (1000 * 60 * 60 * 24)),
hours: Math.floor((difference / (1000 * 60 * 60)) % 24),
minutes: Math.floor((difference / 1000 / 60) % 60),
seconds: Math.floor((difference / 1000) % 60)
};
}
return timeLeft;
};
const [timeLeft, setTimeLeft] = useState(calculateTimeLeft());
useEffect(() => {
const timer = setInterval(() => {
setTimeLeft(calculateTimeLeft());
}, 1000);
return () => clearTimeout(timer);
},[]);
const formatTime = (value) => {
return value.toString().padStart(2, '0');
};
const { days, hours, minutes, seconds } = timeLeft;
const newHours = hours+days*24
if (!days && !hours && !minutes && !seconds) {
return <span>{targetDate}</span>;
}
return (
<div>
<div>{formatTime(newHours)} : {formatTime(minutes)} : {formatTime(seconds)}</div>
<div>Hrs Min Sec</div>
{/* <span className='d-flex flex-column count-timer'>
<span>{formatTime(days)}</span>
<span>day(s)</span>
</span> */}
{/* <span className='d-flex flex-column count-timer'>
<span>{formatTime(newHours)}</span>
<span>hr(s)</span>
</span>
<span className='p-3'>:</span>
<span className='d-flex flex-column count-timer'>
<span>{formatTime(minutes)}</span>
<span>min(s)</span>
</span>
<span className='p-3'>:</span>
<span className='d-flex flex-column count-timer'>
<span>{formatTime(seconds)}</span>
<span>sec(s)</span>
</span> */}
</div>
);
};
export default CountDownTimer;
{/* <span>{days && <span>{formatTime(days)} days </span>}</span> */}
{/* <span>{hours && <span>{formatTime(hours)} hours </span>}</span> */}
{/* <span>{minutes && <span>{formatTime(minutes)} minutes </span>}</span> */}
{/* <span>{seconds && <span>{formatTime(seconds)} seconds </span>}</span> */}
+24 -27
View File
@@ -4,6 +4,7 @@ import blogTwo from '../../assets/images/blog-2.jpg';
import blogThree from '../../assets/images/blog-3.jpg'; import blogThree from '../../assets/images/blog-3.jpg';
import JobsData from '../../Services/JobsData'; import JobsData from '../../Services/JobsData';
import getConfig from './../../Config/config' import getConfig from './../../Config/config'
import CountDownTimer from '../Helper/CountDownTimer';
class RecentJobsOne extends Component { class RecentJobsOne extends Component {
@@ -15,12 +16,15 @@ class RecentJobsOne extends Component {
async componentDidMount(){ async componentDidMount(){
// debugger; // debugger;
const response = await JobsData(); JobsData().then(res => {
this.setState({jobsDataResults:response}); this.setState({jobsDataResults:res.data.result_list});
}).catch(err => {
console.log('startjoblist error', err)
})
} }
titleLen(title){ titleLen(title){
let maxl = 58; let maxl = 45;
title.replace('/', ' '); title.replace('/', ' ');
title.replace('www.', ''); title.replace('www.', '');
title.replace('.com', ''); title.replace('.com', '');
@@ -62,12 +66,11 @@ titleLen(title){
return (<div className="col-lg-3 col-md-6"> return (<div className="col-lg-3 col-md-6">
<div <div
className="appie-single-service mt-30 wow animated fadeInUp boxBorder" className="appie-single-service mt-30 wow animated fadeInUp boxBorder d-flex align-items-center"
data-wow-duration="3000ms" data-wow-duration="3000ms"
data-wow-delay="200ms" data-wow-delay="200ms"
> >
<div className="content d-flex flex-column justify-content-between align-items-center" style={{height: '260px'}}>
<div className="content">
<div className="titleBox"> <div className="titleBox">
<h3 className="title"> <h3 className="title">
<a href={dashUrl}> <a href={dashUrl}>
@@ -75,31 +78,25 @@ titleLen(title){
</a> </a>
</h3> </h3>
</div> </div>
<div className='p-0 container-fluid'>
<div><hr /></div>
<div><hr /></div> <div className="blog-meta">
<div className="blog-meta"> <ul>
<ul> <li className="expire">
<li className="expire"> {/* <a href={dashUrl}><span className='font_red'> Expires : {postDt} </span></a> */}
<a href={dashUrl}><span className='font_red'> Expires : {postDt} </span></a> <a href={dashUrl}><span className='font_red'> Expires : <CountDownTimer targetDate={postDt}/> </span></a>
</li> </li>
</ul> </ul>
</div>
<div className='lmoreTxt'>
<a href={dashUrl}>
Learn More <i className="fal fa-arrow-right" />
</a>
</div>
</div> </div>
<div className='lmoreTxt'>
<a href={dashUrl}>
Learn More <i className="fal fa-arrow-right" />
</a>
</div>
</div> </div>
</div> </div>
</div>) </div>)
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import thumb from '../../assets/images/PerformingTask.jpg'; import thumb from '../../assets/images/PerformingTaskNew.png';
import getConfig from './../../Config/config' import getConfig from './../../Config/config'
function TrafficHomeOne() { function TrafficHomeOne() {
+2 -2
View File
@@ -41,7 +41,7 @@ function FAQService() {
<div className='row'> <div className='row'>
<div class="col-12 col-lg-6 accordion" id="accordionExample"> <div class="col-12 col-lg-6 accordion" id="accordionExample">
{faq.map((item, index)=>{ {faq.map((item, index)=>{
if(index%2 == 0){ if(index%2 == 0 && item.public != 0){
return( return(
<div key={index} className='my-3'> <div key={index} className='my-3'>
<Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} /> <Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} />
@@ -52,7 +52,7 @@ function FAQService() {
</div> </div>
<div class="col-12 col-lg-6 accordion" id="accordionExample"> <div class="col-12 col-lg-6 accordion" id="accordionExample">
{faq.map((item, index)=>{ {faq.map((item, index)=>{
if(index%2 != 0){ if(index%2 != 0 && item.public != 0){
return( return(
<div key={index} className='my-3'> <div key={index} className='my-3'>
<Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} /> <Accordion name={`faq${index}`} datas={item} accordionHandler={accordionHandler} isOpen={isOpen} />
+9 -1
View File
@@ -8,6 +8,7 @@ import Drawer from '../Mobile/Drawer';
import DetailsService from './DetailsService'; import DetailsService from './DetailsService';
import HeaderService from './HeaderService'; import HeaderService from './HeaderService';
import HeroService from './HeroService'; import HeroService from './HeroService';
import HeroNews from '../News/HeroNews';
function Service() { function Service() {
useEffect(() => { useEffect(() => {
@@ -18,7 +19,14 @@ function Service() {
<> <>
<Drawer drawer={drawer} action={drawerAction.toggle} /> <Drawer drawer={drawer} action={drawerAction.toggle} />
<HeaderService action={drawerAction.toggle} /> <HeaderService action={drawerAction.toggle} />
<HeroService title="Our Service to you" /> {/* <HeroService title="Our Service to you" /> */}
<HeroNews
title="Services"
breadcrumb={[
{ link: '/', title: 'home' },
{ link: '/service', title: 'Service' },
]}
/>
<DetailsService /> <DetailsService />
{/*<ProjectHomeOne />*/} {/*<ProjectHomeOne />*/}
<FooterHomeOne /> <FooterHomeOne />