Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f2aa7d12b5 | |||
| 4f4e4c0034 | |||
| cc5293cd27 | |||
| bbf8c51217 |
@@ -14,7 +14,9 @@ export default function SocketIOContextProvider({children}) {
|
|||||||
|
|
||||||
// // Messages States
|
// // Messages States
|
||||||
// const [message, setMessage] = useState("");
|
// const [message, setMessage] = useState("");
|
||||||
const [socketMsgReceived, setSocketMsgReceived] = useState({type:'', msg:''});
|
const [socketMsgReceived, setSocketMsgReceived] = useState('');
|
||||||
|
|
||||||
|
const [updateMarket, setUpdateMarket] = useState(false)
|
||||||
|
|
||||||
const joinRoom = (room) => {
|
const joinRoom = (room) => {
|
||||||
if (room !== "") {
|
if (room !== "") {
|
||||||
@@ -24,7 +26,8 @@ export default function SocketIOContextProvider({children}) {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
socket.on("received_refreshmarket_jobs", (data) => {
|
socket.on("received_refreshmarket_jobs", (data) => {
|
||||||
setSocketMsgReceived({type: 'market', msg: data?.message});
|
setSocketMsgReceived(data?.message);
|
||||||
|
setUpdateMarket(prev => !prev)
|
||||||
});
|
});
|
||||||
}, [socket]);
|
}, [socket]);
|
||||||
|
|
||||||
@@ -33,6 +36,7 @@ export default function SocketIOContextProvider({children}) {
|
|||||||
joinRoom,
|
joinRoom,
|
||||||
setSocketMsgReceived,
|
setSocketMsgReceived,
|
||||||
socketMsgReceived,
|
socketMsgReceived,
|
||||||
|
updateMarket,
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -8381,7 +8381,7 @@ blockquote cite {
|
|||||||
/* interface images */
|
/* interface images */
|
||||||
.interface_section .owl-item .screen_frame_img img {
|
.interface_section .owl-item .screen_frame_img img {
|
||||||
transform: scale(.9);
|
transform: scale(.9);
|
||||||
border: 2px solid #000;
|
/* border: 2px solid #000; */
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
transition: 1s all;
|
transition: 1s all;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@@ -8391,6 +8391,6 @@ blockquote cite {
|
|||||||
|
|
||||||
.interface_section .owl-item.center .screen_frame_img img {
|
.interface_section .owl-item.center .screen_frame_img img {
|
||||||
transform: scale(1);
|
transform: scale(1);
|
||||||
border: 3px solid #000;
|
/* border: 3px solid #000;
|
||||||
padding: 5px;
|
padding: 5px; */
|
||||||
}
|
}
|
||||||
|
After Width: | Height: | Size: 629 KiB |
|
After Width: | Height: | Size: 422 KiB |
|
After Width: | Height: | Size: 600 KiB |
|
After Width: | Height: | Size: 406 KiB |
|
After Width: | Height: | Size: 545 KiB |
|
After Width: | Height: | Size: 547 KiB |
|
After Width: | Height: | Size: 595 KiB |
@@ -2,22 +2,16 @@ import React, { useState, useEffect } from 'react';
|
|||||||
import blogOne from '../../assets/images/blog-1.jpg';
|
import blogOne from '../../assets/images/blog-1.jpg';
|
||||||
import blogTwo from '../../assets/images/blog-2.jpg';
|
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';
|
import CountDownTimer from '../Helper/CountDownTimer';
|
||||||
import { SocketValues } from '../../Contexts/SocketIOContext';
|
|
||||||
|
|
||||||
let CurrentJobsHero = () => {
|
|
||||||
|
|
||||||
let {socketMsgReceived} = SocketValues() // destructure FROM SOCKET
|
|
||||||
|
|
||||||
|
let CurrentJobsHero = ({jobs}) => {
|
||||||
|
|
||||||
var site = getConfig()[0];
|
var site = getConfig()[0];
|
||||||
|
|
||||||
var dashUrl = process.env.REACT_APP_DASH_URL;
|
var dashUrl = process.env.REACT_APP_DASH_URL;
|
||||||
|
|
||||||
let [jobs, setJobs] = useState([])
|
|
||||||
|
|
||||||
function titleLen(title){
|
function titleLen(title){
|
||||||
let maxl = 45;
|
let maxl = 45;
|
||||||
title.replace('/', ' ');
|
title.replace('/', ' ');
|
||||||
@@ -28,14 +22,6 @@ let CurrentJobsHero = () => {
|
|||||||
return (title.length > maxl)? title.substring(0,maxl-2)+'...': title;
|
return (title.length > maxl)? title.substring(0,maxl-2)+'...': title;
|
||||||
}
|
}
|
||||||
|
|
||||||
useEffect(()=>{
|
|
||||||
JobsData().then(res => {
|
|
||||||
setJobs(res.data.result_list);
|
|
||||||
}).catch(err => {
|
|
||||||
console.log('startjoblist error', err)
|
|
||||||
})
|
|
||||||
},[socketMsgReceived])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{jobs.length < 1 ?
|
{jobs.length < 1 ?
|
||||||
@@ -84,7 +70,7 @@ let CurrentJobsHero = () => {
|
|||||||
{/*</div>*/}
|
{/*</div>*/}
|
||||||
<div className='lmoreTxt d-flex justify-content-between align-items-center'>
|
<div className='lmoreTxt d-flex justify-content-between align-items-center'>
|
||||||
<p className='text-danger' style={{fontSize: '12px'}}>{hourRemaining > 24 ? `available in the next ${hourRemaining%24} ${hourRemaining%24 > 1 ? 'days':'day'}` : `available in the next 12hrs 30mins`}</p>
|
<p className='text-danger' style={{fontSize: '12px'}}>{hourRemaining > 24 ? `available in the next ${hourRemaining%24} ${hourRemaining%24 > 1 ? 'days':'day'}` : `available in the next 12hrs 30mins`}</p>
|
||||||
<a href={dashUrl} className=''>
|
<a href={process.env.REACT_APP_DASH_URL_LOGIN} className=''>
|
||||||
Learn More <i className="fal fa-arrow-right" />
|
Learn More <i className="fal fa-arrow-right" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -114,7 +100,7 @@ let CurrentJobsHero = () => {
|
|||||||
Find more opportunities at our marketplace.
|
Find more opportunities at our marketplace.
|
||||||
</a>
|
</a>
|
||||||
</h3>
|
</h3>
|
||||||
<a className='align-self-end' href="https://users.wrenchboard.com/login">
|
<a className='align-self-end' href="https://dashboard.wrenchboard.com/login">
|
||||||
Login now <i className="fal fa-arrow-right" />
|
Login now <i className="fal fa-arrow-right" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -39,37 +39,44 @@ export default function FeaturedScreen() {
|
|||||||
<OwlCarousel id="screen_slider" {...screen_slider} className="owl-carousel owl-theme owl-loaded owl-drag">
|
<OwlCarousel id="screen_slider" {...screen_slider} className="owl-carousel owl-theme owl-loaded owl-drag">
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_1.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_1.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_1.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_2.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_2.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_2.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_3.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_3.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_3.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_4.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_4.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_6.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_5.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_5.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_4.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_6.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_7.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_7.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="item">
|
<div className="item">
|
||||||
<div className="screen_frame_img">
|
<div className="screen_frame_img">
|
||||||
<img src={localImgLoad('images/slider/slider_7.png')} alt="image" />
|
{/* <img src={localImgLoad('images/slider/slider_7.png')} alt="image" /> */}
|
||||||
|
<img src={localImgLoad('images/slider/app_sliders/screen_5.png')} alt="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</OwlCarousel>
|
</OwlCarousel>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import heroThumb from '../../assets/images/hero-thumb-7.png';
|
import heroThumb from '../../assets/images/hero-thumb-7.png';
|
||||||
import CurrentJobsHero from "./CurrentJobsHero";
|
import CurrentJobsHero from "./CurrentJobsHero";
|
||||||
|
|
||||||
function HomeNigeria() {
|
function HomeNigeria({jobs}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<section className="appie-hero-area">
|
<section className="appie-hero-area">
|
||||||
@@ -46,7 +46,7 @@ function HomeNigeria() {
|
|||||||
{/* <img src={heroThumb} alt="" />*/}
|
{/* <img src={heroThumb} alt="" />*/}
|
||||||
{/* </div>*/}
|
{/* </div>*/}
|
||||||
{/*</div>*/}
|
{/*</div>*/}
|
||||||
<CurrentJobsHero />
|
<CurrentJobsHero jobs={jobs} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,140 +1,121 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component, useEffect, useState } from 'react';
|
||||||
import blogOne from '../../assets/images/blog-1.jpg';
|
import blogOne from '../../assets/images/blog-1.jpg';
|
||||||
import blogTwo from '../../assets/images/blog-2.jpg';
|
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';
|
import CountDownTimer from '../Helper/CountDownTimer';
|
||||||
|
|
||||||
class RecentJobsOne extends Component {
|
let RecentJobsOne = ({jobs}) => {
|
||||||
|
|
||||||
constructor() {
|
|
||||||
// debugger;
|
var site = getConfig()[0];
|
||||||
super();
|
|
||||||
this.state = { jobsDataResults: [] };
|
var dashUrl = process.env.REACT_APP_DASH_URL;
|
||||||
|
|
||||||
|
function titleLen(title){
|
||||||
|
let maxl = 45;
|
||||||
|
title.replace('/', ' ');
|
||||||
|
title.replace('www.', '');
|
||||||
|
title.replace('.com', '');
|
||||||
|
title.replace('http//', '');
|
||||||
|
|
||||||
|
return (title.length > maxl)? title.substring(0,maxl-2)+'...': title;
|
||||||
}
|
}
|
||||||
|
|
||||||
async componentDidMount(){
|
return (
|
||||||
// debugger;
|
<>
|
||||||
JobsData().then(res => {
|
{jobs.length < 1 ?
|
||||||
this.setState({jobsDataResults:res.data.result_list});
|
null
|
||||||
}).catch(err => {
|
:
|
||||||
console.log('startjoblist error', err)
|
<section className="appie-blog-area pt-90 pb-95">
|
||||||
})
|
<div className="container">
|
||||||
}
|
<div className="row">
|
||||||
|
<div className="col-lg-12">
|
||||||
titleLen(title){
|
<div className="appie-section-title text-center">
|
||||||
let maxl = 45;
|
<h3 className="appie-title">Current Projects</h3>
|
||||||
title.replace('/', ' ');
|
|
||||||
title.replace('www.', '');
|
|
||||||
title.replace('.com', '');
|
|
||||||
title.replace('http//', '');
|
|
||||||
|
|
||||||
return (title.length > maxl)? title.substring(0,maxl-2)+'...': title;
|
|
||||||
}
|
|
||||||
// if (jobsDataResults ()== null){
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
render() {
|
|
||||||
var site = getConfig()[0];
|
|
||||||
if ( this.state.jobsDataResults== undefined ){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
var dashUrl = process.env.REACT_APP_DASH_URL;
|
|
||||||
|
|
||||||
if (this.state.jobsDataResults.length == 0){
|
|
||||||
return <></>;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<section className="appie-blog-area pt-90 pb-95">
|
|
||||||
<div className="container">
|
|
||||||
<div className="row">
|
|
||||||
<div className="col-lg-12">
|
|
||||||
<div className="appie-section-title text-center">
|
|
||||||
<h3 className="appie-title">Current Projects</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="row">
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="row">
|
||||||
|
|
||||||
{
|
{
|
||||||
this.state.jobsDataResults.map(i => {
|
jobs.map((i, index) => {
|
||||||
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
|
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
|
||||||
var postDt = new Date(i.expire).toLocaleDateString("en-US", options);
|
var postDt = new Date(i.expire).toLocaleDateString("en-US", options);
|
||||||
|
if(index < 24){
|
||||||
return (<div className="col-md-6 col-xl-3">
|
return (
|
||||||
<div
|
<div className="col-md-6 col-xl-3">
|
||||||
className="appie-single-service container-fluid mt-30 wow animated fadeInUp boxBorder d-flex align-items-center"
|
<div
|
||||||
data-wow-duration="3000ms"
|
className="appie-single-service container-fluid mt-30 wow animated fadeInUp boxBorder d-flex align-items-center"
|
||||||
data-wow-delay="200ms"
|
data-wow-duration="3000ms"
|
||||||
>
|
data-wow-delay="200ms"
|
||||||
<div className="content d-flex flex-column justify-content-between" style={{height: '200px', width: '100%'}}>
|
>
|
||||||
<div className="titleBox">
|
<div className="content d-flex flex-column justify-content-between" style={{height: '250px', width: '100%'}}>
|
||||||
<h3 className="title">
|
<div className="titleBox">
|
||||||
<a href={dashUrl}>
|
<h3 className="title">
|
||||||
<span className='font_black'>{this.titleLen(i.title)} </span>
|
<a href={dashUrl}>
|
||||||
</a>
|
<span className='font_black'>{titleLen(i.title)} </span>
|
||||||
</h3>
|
</a>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div className='p-0 container-fluid'>
|
||||||
|
<div><hr /></div>
|
||||||
|
<div className="blog-meta">
|
||||||
|
<ul>
|
||||||
|
<li className="expire">
|
||||||
|
<a href={dashUrl} className='d-block'>
|
||||||
|
<div className='font_red d-flex align-items-start'>
|
||||||
|
<div className='pr-2'>Expires :</div>
|
||||||
|
<CountDownTimer targetDate={postDt}/>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div className='p-0 container-fluid'>
|
<div className='lmoreTxt d-flex justify-content-end align-items-center'>
|
||||||
<div><hr /></div>
|
<a href={process.env.REACT_APP_DASH_URL_LOGIN}>
|
||||||
<div className="blog-meta">
|
Learn More <i className="fal fa-arrow-right" />
|
||||||
<ul>
|
</a>
|
||||||
<li className="expire">
|
|
||||||
<a href={dashUrl} className='d-block'>
|
|
||||||
<div className='font_red d-flex align-items-start'>
|
|
||||||
<div className='pr-2'>Expires :</div>
|
|
||||||
<CountDownTimer targetDate={postDt}/>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div className='lmoreTxt d-flex justify-content-end align-items-center'>
|
|
||||||
<a href={dashUrl}>
|
|
||||||
Learn More <i className="fal fa-arrow-right" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>)
|
|
||||||
|
|
||||||
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
<div className="col-lg-3 col-md-6">
|
|
||||||
<div
|
|
||||||
className="appie-blog-item mt-30 wow animated fadeInUp"
|
|
||||||
data-wow-duration="3000ms"
|
|
||||||
data-wow-delay="600ms"
|
|
||||||
>
|
|
||||||
|
|
||||||
<div className="content">
|
|
||||||
|
|
||||||
<h3 className="title">
|
|
||||||
<a href={dashUrl}>
|
|
||||||
Find more opportunities at our marketplace.
|
|
||||||
</a>
|
|
||||||
</h3>
|
|
||||||
<a href="https://dashboard.wrenchboard.com/login">
|
|
||||||
Login now <i className="fal fa-arrow-right" />
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6">
|
||||||
|
<div
|
||||||
|
className="appie-blog-item mt-30 wow animated fadeInUp"
|
||||||
|
data-wow-duration="3000ms"
|
||||||
|
data-wow-delay="600ms"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div className="content">
|
||||||
|
|
||||||
|
<h3 className="title">
|
||||||
|
<a href={dashUrl}>
|
||||||
|
Find more opportunities at our marketplace.
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<a href="https://dashboard.wrenchboard.com/login">
|
||||||
|
Login now <i className="fal fa-arrow-right" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
</>
|
</div>
|
||||||
);
|
</div>
|
||||||
}
|
</section>
|
||||||
|
}
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default RecentJobsOne;
|
export default RecentJobsOne;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import React from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import useToggle from '../../Hooks/useToggle';
|
import useToggle from '../../Hooks/useToggle';
|
||||||
import BackToTop from '../BackToTop';
|
import BackToTop from '../BackToTop';
|
||||||
import Drawer from '../Mobile/Drawer';
|
import Drawer from '../Mobile/Drawer';
|
||||||
@@ -19,20 +19,34 @@ import WrenchBoardHome from './WrenchBoardHome';
|
|||||||
import RecentJobsOne from './RecentJobsOne';
|
import RecentJobsOne from './RecentJobsOne';
|
||||||
import HomeNigeria from "./HomeNigeria";
|
import HomeNigeria from "./HomeNigeria";
|
||||||
import FeaturedScreen from './FeaturedScreen';
|
import FeaturedScreen from './FeaturedScreen';
|
||||||
|
import { SocketValues } from '../../Contexts/SocketIOContext';
|
||||||
|
import JobsData from '../../Services/JobsData';
|
||||||
//import BlogData from './../../Services/BlogData';
|
//import BlogData from './../../Services/BlogData';
|
||||||
|
|
||||||
function HomeOne() {
|
function HomeOne() {
|
||||||
|
|
||||||
|
let {updateMarket} = SocketValues() // destructure FROM SOCKET
|
||||||
|
|
||||||
const [drawer, drawerAction] = useToggle(false);
|
const [drawer, drawerAction] = useToggle(false);
|
||||||
|
|
||||||
|
let [jobs, setJobs] = useState([])
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
JobsData().then(res => {
|
||||||
|
setJobs(res.data.result_list);
|
||||||
|
}).catch(err => {
|
||||||
|
console.log('startjoblist error', err)
|
||||||
|
})
|
||||||
|
},[updateMarket])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Drawer drawer={drawer} action={drawerAction.toggle} />
|
<Drawer drawer={drawer} action={drawerAction.toggle} />
|
||||||
<HomeOneHeader action={drawerAction.toggle} />
|
<HomeOneHeader action={drawerAction.toggle} />
|
||||||
<HomeNigeria />
|
<HomeNigeria jobs={jobs} />
|
||||||
{/*<HeroHomeOne />*/}
|
{/*<HeroHomeOne />*/}
|
||||||
<ServicesHomeOne />
|
<ServicesHomeOne />
|
||||||
<RecentJobsOne />
|
<RecentJobsOne jobs={jobs} />
|
||||||
<FeaturesHomeOne />
|
<FeaturesHomeOne />
|
||||||
{/*<FaqHomeOne />*/}
|
{/*<FaqHomeOne />*/}
|
||||||
{/*<TrafficHomeOne />*/}
|
{/*<TrafficHomeOne />*/}
|
||||||
|
|||||||