From f2aa7d12b57919bcdb615b0f2163dbc6818bbcc0 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Mon, 18 Mar 2024 10:28:30 +0100 Subject: [PATCH] updates current job on market job post --- src/Contexts/SocketIOContext.js | 8 +- src/components/HomeOne/CurrentJobsHero.js | 18 +- src/components/HomeOne/HomeNigeria.js | 4 +- src/components/HomeOne/RecentJobsOne.js | 216 ++++++++++------------ src/components/HomeOne/index.js | 20 +- 5 files changed, 125 insertions(+), 141 deletions(-) diff --git a/src/Contexts/SocketIOContext.js b/src/Contexts/SocketIOContext.js index d9b699d..61688d3 100644 --- a/src/Contexts/SocketIOContext.js +++ b/src/Contexts/SocketIOContext.js @@ -14,7 +14,9 @@ export default function SocketIOContextProvider({children}) { // // Messages States // const [message, setMessage] = useState(""); - const [socketMsgReceived, setSocketMsgReceived] = useState({type:'', msg:''}); + const [socketMsgReceived, setSocketMsgReceived] = useState(''); + + const [updateMarket, setUpdateMarket] = useState(false) const joinRoom = (room) => { if (room !== "") { @@ -24,7 +26,8 @@ export default function SocketIOContextProvider({children}) { useEffect(() => { socket.on("received_refreshmarket_jobs", (data) => { - setSocketMsgReceived({type: 'market', msg: data?.message}); + setSocketMsgReceived(data?.message); + setUpdateMarket(prev => !prev) }); }, [socket]); @@ -33,6 +36,7 @@ export default function SocketIOContextProvider({children}) { joinRoom, setSocketMsgReceived, socketMsgReceived, + updateMarket, } return ( diff --git a/src/components/HomeOne/CurrentJobsHero.js b/src/components/HomeOne/CurrentJobsHero.js index 4555737..d3284ce 100644 --- a/src/components/HomeOne/CurrentJobsHero.js +++ b/src/components/HomeOne/CurrentJobsHero.js @@ -2,22 +2,16 @@ import React, { useState, useEffect } from 'react'; import blogOne from '../../assets/images/blog-1.jpg'; import blogTwo from '../../assets/images/blog-2.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 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 dashUrl = process.env.REACT_APP_DASH_URL; - let [jobs, setJobs] = useState([]) - function titleLen(title){ let maxl = 45; title.replace('/', ' '); @@ -28,14 +22,6 @@ let CurrentJobsHero = () => { 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 ( <> {jobs.length < 1 ? diff --git a/src/components/HomeOne/HomeNigeria.js b/src/components/HomeOne/HomeNigeria.js index 112790b..bb1becd 100644 --- a/src/components/HomeOne/HomeNigeria.js +++ b/src/components/HomeOne/HomeNigeria.js @@ -2,7 +2,7 @@ import React from 'react'; import heroThumb from '../../assets/images/hero-thumb-7.png'; import CurrentJobsHero from "./CurrentJobsHero"; -function HomeNigeria() { +function HomeNigeria({jobs}) { return ( <>
@@ -46,7 +46,7 @@ function HomeNigeria() { {/* */} {/* */} {/**/} - + diff --git a/src/components/HomeOne/RecentJobsOne.js b/src/components/HomeOne/RecentJobsOne.js index c128816..3b277e3 100644 --- a/src/components/HomeOne/RecentJobsOne.js +++ b/src/components/HomeOne/RecentJobsOne.js @@ -1,141 +1,121 @@ -import React, { Component } from 'react'; +import React, { Component, useEffect, useState } from 'react'; import blogOne from '../../assets/images/blog-1.jpg'; import blogTwo from '../../assets/images/blog-2.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 CountDownTimer from '../Helper/CountDownTimer'; -class RecentJobsOne extends Component { +let RecentJobsOne = ({jobs}) => { - constructor() { - // debugger; - super(); - this.state = { jobsDataResults: [] }; + + var site = getConfig()[0]; + + 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(){ - // debugger; - JobsData().then(res => { - this.setState({jobsDataResults:res.data.result_list}); - }).catch(err => { - console.log('startjoblist error', err) - }) -} - -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; -} - // 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 ( - <> -
-
-
-
-
-

Current Projects

-
-
+ return ( + <> + {jobs.length < 1 ? + null + : +
+
+
+
+
+

Current Projects

-
+
+
+
- { - this.state.jobsDataResults.map((i, index) => { - var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; - var postDt = new Date(i.expire).toLocaleDateString("en-US", options); - if(index < 24){ - return ( - - ) - } - - }) - } - - - + ) + } + }) + } + + + -
- - ); - } + +
+
+
+ } + + ); } export default RecentJobsOne; \ No newline at end of file diff --git a/src/components/HomeOne/index.js b/src/components/HomeOne/index.js index e2ab49a..a621bef 100644 --- a/src/components/HomeOne/index.js +++ b/src/components/HomeOne/index.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import useToggle from '../../Hooks/useToggle'; import BackToTop from '../BackToTop'; import Drawer from '../Mobile/Drawer'; @@ -19,20 +19,34 @@ import WrenchBoardHome from './WrenchBoardHome'; import RecentJobsOne from './RecentJobsOne'; import HomeNigeria from "./HomeNigeria"; import FeaturedScreen from './FeaturedScreen'; +import { SocketValues } from '../../Contexts/SocketIOContext'; +import JobsData from '../../Services/JobsData'; //import BlogData from './../../Services/BlogData'; function HomeOne() { + + let {updateMarket} = SocketValues() // destructure FROM SOCKET + 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 ( <> - + {/**/} - + {/**/} {/**/}