Compare commits

..

15 Commits

Author SHA1 Message Date
victorAnumudu 6046401aa2 changed the value of REACT_APP_PRIMARY_SOCKET in env production file 2024-03-15 13:13:11 +01:00
ameye 3f6cb6afba Merge branch 'socket-context' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-03-14 10:44:52 +00:00
victorAnumudu a52479e11f added socket context 2024-03-14 10:42:57 +01:00
tokslaw df80cf8aae Merge branch 'mission-text' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-22 19:05:49 +00:00
victorAnumudu f33b6635e5 changed home to Home 2024-02-22 19:29:28 +01:00
victorAnumudu 86a2118816 update wrong mission text 2024-02-22 19:12:38 +01:00
ameye aba3369459 Merge branch 'dev-link-change' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-17 14:10:20 +00:00
victorAnumudu 56b3242918 dev link for wrench agent changed 2024-02-17 14:54:01 +01:00
ameye 760c1eb2a0 Merge branch 'agent-link' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-16 17:55:44 +00:00
victorAnumudu eebf5ec002 agent link added to env 2024-02-16 17:34:50 +01:00
ameye 0deabf1614 Merge branch 'section-addition' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-14 12:03:29 +00:00
victorAnumudu b4d5a4a542 added slider section 2024-02-14 00:02:11 +01:00
tokslaw edf4b3ad30 Merge branch 'address-fix' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-02 17:18:40 +00:00
tokslaw 8150953549 Merge branch 'country-query' of WrenchBoard/WrenchBoardNigeriaMainSite into master 2024-02-02 17:18:32 +00:00
victorAnumudu 909553f085 added country query params to login link 2024-02-02 17:31:02 +01:00
23 changed files with 305 additions and 111 deletions
+7 -1
View File
@@ -5,7 +5,7 @@ REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api
REACT_APP_SITE_NAME='WrenchBoard' REACT_APP_SITE_NAME='WrenchBoard'
REACT_APP_DASH_URL='https://dev-users.wrenchboard.com' REACT_APP_DASH_URL='https://dev-users.wrenchboard.com'
REACT_APP_DASH_URL_LOGIN="https://dev-users.wrenchboard.com/login" REACT_APP_DASH_URL_LOGIN="https://dev-users.wrenchboard.com/login?cnt=ng"
REACT_APP_DASH_URL_SIGNUP="https://dev-users.wrenchboard.com/signup?cnt=ng" REACT_APP_DASH_URL_SIGNUP="https://dev-users.wrenchboard.com/signup?cnt=ng"
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users' REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8' REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
@@ -17,3 +17,9 @@ REACT_APP_SUPPORT_PHONE='404 855-7966'
REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328' REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328'
REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339' REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339'
REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria' REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria'
#AGENT LINK
REACT_APP_AGENT_LINK='https://dev-agents.wrenchboard.com'
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
+7 -1
View File
@@ -5,7 +5,7 @@ REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api
REACT_APP_SITE_NAME='WrenchBoard' REACT_APP_SITE_NAME='WrenchBoard'
REACT_APP_DASH_URL='https://dev-users.wrenchboard.com' REACT_APP_DASH_URL='https://dev-users.wrenchboard.com'
REACT_APP_DASH_URL_LOGIN="https://dev-users.wrenchboard.com/login" REACT_APP_DASH_URL_LOGIN="https://dev-users.wrenchboard.com/login?cnt=ng"
REACT_APP_DASH_URL_SIGNUP="https://dev-users.wrenchboard.com/signup?cnt=ng" REACT_APP_DASH_URL_SIGNUP="https://dev-users.wrenchboard.com/signup?cnt=ng"
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users' REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8' REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
@@ -17,3 +17,9 @@ REACT_APP_SUPPORT_PHONE='404 855-7966'
REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328' REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328'
REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339' REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339'
REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria' REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria'
#AGENT LINK
REACT_APP_AGENT_LINK='https://dev-agents.wrenchboard.com'
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
+7 -1
View File
@@ -5,7 +5,7 @@ REACT_APP_USERS_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api
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'
REACT_APP_DASH_URL_LOGIN="https://users.wrenchboard.com/login" REACT_APP_DASH_URL_LOGIN="https://users.wrenchboard.com/login?cnt=ng"
REACT_APP_DASH_URL_SIGNUP="https://users.wrenchboard.com/signup?cnt=ng" REACT_APP_DASH_URL_SIGNUP="https://users.wrenchboard.com/signup?cnt=ng"
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users' REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8' REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
@@ -17,3 +17,9 @@ REACT_APP_SUPPORT_PHONE='404 855-7966'
REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328' REACT_APP_SUPPORT_PHONE_NG='(+420) 336 476 328'
REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339' REACT_APP_SUPPORT_US_ADDRESS='Cumberland Pkwy, Atlanta GA 30339'
REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria' REACT_APP_SUPPORT_NG_ADDRESS='Saka Tinubu Street, Victoria Island Lagos, Nigeria'
#AGENT LINK
REACT_APP_AGENT_LINK='https://agents.wrenchboard.com'
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
+2
View File
@@ -10,11 +10,13 @@
"react": "^17.0.2", "react": "^17.0.2",
"react-countup": "^6.0.0", "react-countup": "^6.0.0",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-owl-carousel": "^2.3.3",
"react-router-dom": "^5.3.0", "react-router-dom": "^5.3.0",
"react-scripts": "5.0.0", "react-scripts": "5.0.0",
"react-slick": "^0.28.1", "react-slick": "^0.28.1",
"simple-react-lightbox": "^3.6.9-0", "simple-react-lightbox": "^3.6.9-0",
"slick-carousel": "^1.8.1", "slick-carousel": "^1.8.1",
"socket.io-client": "^4.4.1",
"web-vitals": "^1.0.1" "web-vitals": "^1.0.1"
}, },
"scripts": { "scripts": {
+3
View File
@@ -68,4 +68,7 @@
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})(); })();
</script> </script>
<!-- plugins js -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</html> </html>
+9
View File
@@ -1,9 +1,18 @@
import { useEffect } from 'react';
import Routes from './Routes'; import Routes from './Routes';
import { Redirect, useLocation } from 'react-router-dom'; import { Redirect, useLocation } from 'react-router-dom';
import { SocketValues } from './Contexts/SocketIOContext';
function App() { function App() {
let { joinRoom } = SocketValues() // function to join market room, to be able to receive market job post update
const {pathname} = useLocation() const {pathname} = useLocation()
useEffect(()=>{ // sends an event to the socket to enable user join a room to be able to receive update when jobs enters the market
joinRoom('full-markets-jobs')
},[])
return ( return (
<> <>
{pathname.startsWith('/@') ? {pathname.startsWith('/@') ?
+48
View File
@@ -0,0 +1,48 @@
import React, { createContext, useContext, useEffect, useState } from "react";
import io from "socket.io-client";
let SocketIOContext = createContext({})
export default function SocketIOContextProvider({children}) {
const socket = io.connect(process.env.REACT_APP_PRIMARY_SOCKET);
// //Room State
// const [room, setRoom] = useState("");
// // Messages States
// const [message, setMessage] = useState("");
const [socketMsgReceived, setSocketMsgReceived] = useState({type:'', msg:''});
const joinRoom = (room) => {
if (room !== "") {
socket.emit("join_room", room);
}
};
useEffect(() => {
socket.on("received_refreshmarket_jobs", (data) => {
setSocketMsgReceived({type: 'market', msg: data?.message});
});
}, [socket]);
let values = {
socket,
joinRoom,
setSocketMsgReceived,
socketMsgReceived,
}
return (
<SocketIOContext.Provider value={values}>
{children}
</SocketIOContext.Provider>
)
}
export const SocketValues = () => {
return useContext(SocketIOContext)
}
+29
View File
@@ -8365,3 +8365,32 @@ blockquote cite {
animation-duration: .5s; animation-duration: .5s;
animation-fill-mode: forwards; */ animation-fill-mode: forwards; */
} }
/* -----------Interface_Section-Css-Start----------------- */
/* interface wraper */
.interface_section .screen_slider {
margin-top: 35px;
/* min-height: 520px; */
display: flex;
align-items: center;
}
/* interface images */
.interface_section .owl-item .screen_frame_img img {
transform: scale(.9);
border: 2px solid #000;
border-radius: 20px;
transition: 1s all;
margin: 0 auto;
height: 520px;
width: auto;
}
.interface_section .owl-item.center .screen_frame_img img {
transform: scale(1);
border: 3px solid #000;
padding: 5px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 KiB

+97 -103
View File
@@ -1,29 +1,24 @@
import React, { Component } from 'react'; 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';
class CurrentJobsHero extends Component { let CurrentJobsHero = () => {
constructor() { let {socketMsgReceived} = SocketValues() // destructure FROM SOCKET
// debugger;
super();
this.state = { jobsDataResults: [] };
}
async componentDidMount(){
// debugger;
JobsData().then(res => {
this.setState({jobsDataResults:res.data.result_list});
}).catch(err => {
console.log('startjoblist error', err)
})
}
titleLen(title){ var site = getConfig()[0];
var dashUrl = process.env.REACT_APP_DASH_URL;
let [jobs, setJobs] = useState([])
function titleLen(title){
let maxl = 45; let maxl = 45;
title.replace('/', ' '); title.replace('/', ' ');
title.replace('www.', ''); title.replace('www.', '');
@@ -32,107 +27,106 @@ class CurrentJobsHero extends Component {
return (title.length > maxl)? title.substring(0,maxl-2)+'...': title; 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){ useEffect(()=>{
return <></>; JobsData().then(res => {
} setJobs(res.data.result_list);
return ( }).catch(err => {
<> console.log('startjoblist error', err)
<section className="appie-blog-area"> })
<div className="container"> },[socketMsgReceived])
<div className="row">
<p className='pl-15'>Recent jobs.</p>
{ return (
this.state.jobsDataResults.map((i, index) => { <>
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; {jobs.length < 1 ?
var postDt = new Date(i.expire).toLocaleDateString("en-US", options); null
let hourRemaining = Math.floor(Math.abs(new Date() - new Date(i.expire)) / (1000*60*60)) :
<section className="appie-blog-area">
<div className="container">
<div className="row">
<p className='pl-15'>Recent jobs.</p>
if(index < 5){ {
return ( jobs.map((i, index) => {
<div className="col-12"> var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
<div var postDt = new Date(i.expire).toLocaleDateString("en-US", options);
className="container-fluid mb-10 wow animated fadeInUp boxBorder d-flex align-items-center rounded" let hourRemaining = Math.floor(Math.abs(new Date() - new Date(i.expire)) / (1000*60*60))
data-wow-duration="3000ms"
data-wow-delay="200ms" if(index < 5){
> return (
<div className="content d-flex flex-column justify-content-between" style={{height: '50px', width: '100%'}}> <div className="col-12">
<div className="titleBox"> <div
<h3 className="title_hero"> className="container-fluid mb-10 wow animated fadeInUp boxBorder d-flex align-items-center rounded"
<a href={dashUrl}> data-wow-duration="3000ms"
<span className='font_black_hero'>{this.titleLen(i.title)} </span> data-wow-delay="200ms"
</a> >
</h3> <div className="content d-flex flex-column justify-content-between" style={{height: '50px', width: '100%'}}>
</div> <div className="titleBox">
<div className='p-0 container-fluid'> <h3 className="title_hero">
{/*<div><hr /></div>*/} <a href={dashUrl}>
{/*<div className="blog-meta">*/} <span className='font_black_hero'>{titleLen(i.title)} </span>
{/* <ul>*/} </a>
{/* <li className="expire">*/} </h3>
{/* <a href={dashUrl} className='d-block'>*/} </div>
{/* <div className='font_red d-flex align-items-start'>*/} <div className='p-0 container-fluid'>
{/* <div className='pr-2'>Expires :</div>*/} {/*<div><hr /></div>*/}
{/* <CountDownTimer targetDate={postDt}/>*/} {/*<div className="blog-meta">*/}
{/* </div>*/} {/* <ul>*/}
{/* </a>*/} {/* <li className="expire">*/}
{/* </li>*/} {/* <a href={dashUrl} className='d-block'>*/}
{/* </ul>*/} {/* <div className='font_red d-flex align-items-start'>*/}
{/*</div>*/} {/* <div className='pr-2'>Expires :</div>*/}
<div className='lmoreTxt d-flex justify-content-between align-items-center'> {/* <CountDownTimer targetDate={postDt}/>*/}
<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> {/* </div>*/}
<a href={dashUrl} className=''> {/* </a>*/}
Learn More <i className="fal fa-arrow-right" /> {/* </li>*/}
</a> {/* </ul>*/}
</div> {/*</div>*/}
</div> <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>
<a href={dashUrl} className=''>
Learn More <i className="fal fa-arrow-right" />
</a>
</div> </div>
</div> </div>
</div> </div>
) </div>
} </div>
)
})
} }
<div className="col-md-6 col-xl-12"> })
<div }
className="appie-blog-item mt-15 wow animated fadeInUp"
data-wow-duration="3000ms"
data-wow-delay="600ms"
>
<div className="pt-10 d-flex flex-column gap-2">
<h3 className="title"> <div className="col-md-6 col-xl-12">
<a href={dashUrl}> <div
Find more opportunities at our marketplace. className="appie-blog-item mt-15 wow animated fadeInUp"
</a> data-wow-duration="3000ms"
</h3> data-wow-delay="600ms"
<a className='align-self-end' href="https://users.wrenchboard.com/login"> >
Login now <i className="fal fa-arrow-right" />
</a> <div className="pt-10 d-flex flex-column gap-2">
</div>
</div> <h3 className="title">
<a href={dashUrl}>
Find more opportunities at our marketplace.
</a>
</h3>
<a className='align-self-end' href="https://users.wrenchboard.com/login">
Login now <i className="fal fa-arrow-right" />
</a>
</div> </div>
</div> </div>
</div> </div>
</section>
</> </div>
); </div>
} </section>
}
</>
);
} }
export default CurrentJobsHero; export default CurrentJobsHero;
+81
View File
@@ -0,0 +1,81 @@
import React from 'react'
import OwlCarousel from 'react-owl-carousel'
import localImgLoad from '../../lib/localImgLoad'
import 'owl.carousel/dist/assets/owl.carousel.css'
import 'owl.carousel/dist/assets/owl.theme.default.css'
export default function FeaturedScreen() {
const screen_slider = {
loop:true,
margin:10,
nav:false,
autoplay: true,
smartSpeed: 1500,
center: true,
dots: true,
responsive:{
0:{
items:2
},
600:{
items:3
},
1000:{
items:5
}
}
}
return (
<>
<section className="appie-service-area pt-50 pb-50 interface_section">
<div className="container-fluid">
<div className="appie-traffic-title section_title text-center" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="100" style={{padding: '0'}}>
<h3 className='title'>App Screens <div className='section_sub_title'></div></h3>
<p>Simplicity of use is our goal always. Here are some of our featured screens.</p>
</div>
<div className="screen_slider" >
<OwlCarousel id="screen_slider" {...screen_slider} className="owl-carousel owl-theme owl-loaded owl-drag">
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_1.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_2.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_3.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_4.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_5.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_6.png')} alt="image" />
</div>
</div>
<div className="item">
<div className="screen_frame_img">
<img src={localImgLoad('images/slider/slider_7.png')} alt="image" />
</div>
</div>
</OwlCarousel>
</div>
</div>
</section>
</>
)
}
+3
View File
@@ -54,6 +54,9 @@ function FooterHomeOne({ className }) {
<li> <li>
<a href="/use-cases">Use Cases</a> <a href="/use-cases">Use Cases</a>
</li> </li>
<li>
<a target='_blank' href={process.env.REACT_APP_AGENT_LINK}>Agent</a>
</li>
<li> <li>
<Link to="/blog">Blog</Link> <Link to="/blog">Blog</Link>
</li> </li>
+2
View File
@@ -18,6 +18,7 @@ import TrafficHomeTwo from './TrafficHomeTwo';
import WrenchBoardHome from './WrenchBoardHome'; 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 BlogData from './../../Services/BlogData'; //import BlogData from './../../Services/BlogData';
function HomeOne() { function HomeOne() {
@@ -36,6 +37,7 @@ function HomeOne() {
{/*<FaqHomeOne />*/} {/*<FaqHomeOne />*/}
{/*<TrafficHomeOne />*/} {/*<TrafficHomeOne />*/}
<TrafficHomeTwo /> <TrafficHomeTwo />
<FeaturedScreen />
{/*<TestimonialHomeOne />*/} {/*<TestimonialHomeOne />*/}
{/*<TeamHomeOne />*/} {/*<TeamHomeOne />*/}
{/*<PricingHomeOne />*/} {/*<PricingHomeOne />*/}
+1 -1
View File
@@ -29,7 +29,7 @@ function MissionStatement() {
}, },
{ {
id: 4, id: 4,
title: "Get you work done", title: "Get your work done",
content: "For other tasks you need to get done, we will be there for smooth engagement", content: "For other tasks you need to get done, we will be there for smooth engagement",
} }
]; ];
+1 -1
View File
@@ -25,7 +25,7 @@ function Service() {
<HeroNews <HeroNews
title="Services" title="Services"
breadcrumb={[ breadcrumb={[
{ link: '/', title: 'home' }, { link: '/', title: 'Home' },
{ link: '/service', title: 'Service' }, { link: '/service', title: 'Service' },
]} ]}
/> />
+4 -1
View File
@@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom'; import { BrowserRouter as Router } from 'react-router-dom';
import SocketIOContextProvider from './Contexts/SocketIOContext';
import App from './App'; import App from './App';
import './assets/css/bootstrap.min.css'; import './assets/css/bootstrap.min.css';
@@ -15,7 +16,9 @@ import './assets/css/style.css';
ReactDOM.render( ReactDOM.render(
<React.StrictMode> <React.StrictMode>
<Router> <Router>
<App /> <SocketIOContextProvider>
<App />
</SocketIOContextProvider>
</Router> </Router>
</React.StrictMode>, </React.StrictMode>,
document.getElementById('root') document.getElementById('root')
+2
View File
@@ -0,0 +1,2 @@
const localImgLoad = (location) => require(`../assets/${location}`);
export default localImgLoad