From dcbfec7a40bfcb24f9d2e07efd9f3416b885be2e Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Fri, 26 May 2023 19:37:21 -0400 Subject: [PATCH 1/6] Correct production google redirect --- .env.production | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.production b/.env.production index a0da295..94fbf21 100644 --- a/.env.production +++ b/.env.production @@ -37,4 +37,4 @@ REACT_APP_ITEM_PER_PAGE=5 REACT_APP_GOOGLE_CLIENT_ID=817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com REACT_APP_GOOGLE_CLIENT_SECRET=aozK_2G8UjaCmLgPPkv9abIm REACT_APP_GOOGLE_CLIENT_SCOPE="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile" -REACT_APP_GOOGLE_REDIRECT_URL=http://localhost:9082/login/auth/ \ No newline at end of file +REACT_APP_GOOGLE_REDIRECT_URL=https://users.wrenchboard.com/login/auth/ \ No newline at end of file From 0cabedf96d04e63337a5325b37aa6da7f3ec6878 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Fri, 26 May 2023 22:15:56 -0400 Subject: [PATCH 2/6] my offers --- src/components/MyTasks/MyOffersTable.jsx | 378 +++++++++++++++++++++++ src/components/MyTasks/index.jsx | 7 +- src/services/UsersService.js | 2 +- src/views/MyTaskPage.jsx | 13 +- 4 files changed, 397 insertions(+), 3 deletions(-) create mode 100644 src/components/MyTasks/MyOffersTable.jsx diff --git a/src/components/MyTasks/MyOffersTable.jsx b/src/components/MyTasks/MyOffersTable.jsx new file mode 100644 index 0000000..6e6dc27 --- /dev/null +++ b/src/components/MyTasks/MyOffersTable.jsx @@ -0,0 +1,378 @@ +import React, { useRef } from "react"; +import top from "../../assets/images/top-buyer-1png.png"; +import top2 from "../../assets/images/top-buyer-2.png"; +import top3 from "../../assets/images/top-buyer-3.png"; +import top4 from "../../assets/images/top-buyer-4.png"; +import Icons from "../Helpers/Icons"; +import SliderCom from "../Helpers/SliderCom"; + + +export default function MyOffersTable({ className, MyActiveOffersList}) { + const settings = { + arrows: false, + dots: false, + infinite: true, + autoplay: true, + slidesToShow: 4, + slidesToScroll: 1, + responsive: [ + { + breakpoint: 426, + settings: { + slidesToShow: 2, + slidesToScroll: 1, + }, + }, + ], + }; + + console.log("YES WE SEE OFFERS",MyActiveOffersList); + const sellSlider = useRef(null); + //const buySlider = useRef(null); + const prevHandler = (value) => { + if (value === "sell") { + sellSlider.current.slickPrev(); + } + // if (value === "buy") { + // buySlider.current.slickPrev(); + // } + }; + const nextHandler = (value) => { + if (value === "sell") { + sellSlider.current.slickNext(); + } + // if (value === "buy") { + // buySlider.current.slickNext(); + // } + }; + return ( + <> +
+
+
+
+
+

+ Offers +

+
+ + +
+
+
+ + {MyActiveOffersList && + MyActiveOffersList?.result_list?.length > 0 && + MyActiveOffersList.result_list.map((value, index) => ( + +
+ + {/* title */} +
+

+ {value.title} +

+
+ {/* username */} +
+

+ {value.timeline_days} Days +

+
+ {/* items */} +
+
+ {value.price*0.01} {value.currency} +
+
+
+ ))} + + {/*
*/} + {/* /!* img *!/*/} + {/*
*/} + {/*
*/} + {/* top*/} + {/*
*/} + {/* */} + {/* */} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* title *!/*/} + {/*
*/} + {/*

*/} + {/* Brokln Simons*/} + {/*

*/} + {/*
*/} + {/* /!* username *!/*/} + {/*
*/} + {/*

*/} + {/* @broklinslam_75*/} + {/*

*/} + {/*
*/} + {/* /!* items *!/*/} + {/*
*/} + {/*
*/} + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/**/} + {/* 3435 Items*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* img *!/*/} + {/*
*/} + {/*
*/} + {/* top*/} + {/*
*/} + {/* */} + {/* */} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* title *!/*/} + {/*
*/} + {/*

*/} + {/* Brokln Simons*/} + {/*

*/} + {/*
*/} + {/* /!* username *!/*/} + {/*
*/} + {/*

*/} + {/* @broklinslam_75*/} + {/*

*/} + {/*
*/} + {/* /!* items *!/*/} + {/*
*/} + {/*
*/} + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/**/} + {/* 3435 Items*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* img *!/*/} + {/*
*/} + {/*
*/} + {/* top*/} + {/*
*/} + {/* */} + {/* */} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* title *!/*/} + {/*
*/} + {/*

*/} + {/* Brokln Simons*/} + {/*

*/} + {/*
*/} + {/* /!* username *!/*/} + {/*
*/} + {/*

*/} + {/* @broklinslam_75*/} + {/*

*/} + {/*
*/} + {/* /!* items *!/*/} + {/*
*/} + {/*
*/} + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/**/} + {/* 3435 Items*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* img *!/*/} + {/*
*/} + {/*
*/} + {/* top*/} + {/*
*/} + {/* */} + {/* */} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/* /!* title *!/*/} + {/*
*/} + {/*

*/} + {/* Brokln Simons*/} + {/*

*/} + {/*
*/} + {/* /!* username *!/*/} + {/*
*/} + {/*

*/} + {/* @broklinslam_75*/} + {/*

*/} + {/*
*/} + {/* /!* items *!/*/} + {/*
*/} + {/*
*/} + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/**/} + {/* 3435 Items*/} + {/*
*/} + {/*
*/} + {/*
*/} +
+
+
+
+
+
+ + ); +} diff --git a/src/components/MyTasks/index.jsx b/src/components/MyTasks/index.jsx index f373593..9eea234 100644 --- a/src/components/MyTasks/index.jsx +++ b/src/components/MyTasks/index.jsx @@ -3,8 +3,10 @@ import { Link } from "react-router-dom"; import Layout from "../Partials/Layout"; import MyJobTable from "./MyJobTable"; import CommonHead from "../UserHeader/CommonHead"; +import TopSellerTopBuyerSliderSection from "../Home/TopSellerTopBuyerSliderSection"; +import MyOffersTable from "./MyOffersTable"; -export default function MyTasks({commonHeadData}) { +export default function MyTasks({MyActiveOffersList, commonHeadData}) { const [selectTab, setValue] = useState("today"); const filterHandler = (value) => { setValue(value); @@ -32,6 +34,9 @@ export default function MyTasks({commonHeadData}) { > + diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 9f30d0e..8408d2d 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -78,7 +78,7 @@ class usersService { page: 0, limit: 100, }; - return this.postAuxEnd("/offerslist", null); + return this.postAuxEnd("/offerslist", postData); } getPendingJob() { diff --git a/src/views/MyTaskPage.jsx b/src/views/MyTaskPage.jsx index dd37cbd..11d517b 100644 --- a/src/views/MyTaskPage.jsx +++ b/src/views/MyTaskPage.jsx @@ -6,6 +6,7 @@ import usersService from "../services/UsersService"; export default function MyTaskPage() { const [MyActiveJobList, setMyActiveJobList] = useState([]); + const [MyActiveOffersList, setMyActiveOffersList] = useState([]); const api = new usersService(); const commonHeadData =()=>{ console.log("COMMON HEAD DATA ----------------=====---------------------"); @@ -16,17 +17,27 @@ export default function MyTaskPage() { const res = await api.getMyActiveTaskList(); setMyActiveJobList(res.data); } catch (error) { - console.log("Error getting mode"); + console.log("Error getting tasks"); + } + }; + const getMyActiveOffersList = async () => { + try { + const res = await api.getOffersList(); + setMyActiveOffersList(res.data); + } catch (error) { + console.log("Error getting offers"); } }; useEffect(() => { getMyActiveJobList(); + getMyActiveOffersList(); }, []); //debugger; return ( <> ); From 27aa607bc3935b3a0ea72d5796088225fd2d2469 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Sat, 27 May 2023 10:05:00 +0100 Subject: [PATCH 3/6] google login routes to login/auth with coderesponse consoled --- package-lock.json | 91 ++++++++----------- src/Routers.jsx | 2 + .../AuthPages/AuthRedirect/Redirect.jsx | 23 +++++ src/components/AuthPages/Login/index.jsx | 10 +- src/views/AuthRedirect.jsx | 13 +++ yarn.lock | 74 +++++++-------- 6 files changed, 111 insertions(+), 102 deletions(-) create mode 100644 src/components/AuthPages/AuthRedirect/Redirect.jsx create mode 100644 src/views/AuthRedirect.jsx diff --git a/package-lock.json b/package-lock.json index 8f98e9e..5ebf231 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "WrenchBoard-Users", "version": "0.2.0", "dependencies": { + "@react-oauth/google": "^0.11.0", "@reduxjs/toolkit": "^1.8.2", "@tailwindcss/line-clamp": "^0.3.1", "@testing-library/jest-dom": "^5.11.4", @@ -18,15 +19,15 @@ "chartjs": "^0.3.24", "cors": "^2.8.5", "faker": "^6.6.6", + "flutterwave-react-v3": "^1.3.0", "formik": "^2.2.9", - "react": "^18.0.0", + "react": "^18.2.0", "react-chartjs-2": "^4.1.0", "react-countup": "^6.2.0", - "react-dom": "^18.0.0", - "react-lottie": "^1.2.3", - "react-redux": "^8.0.2", + "react-dom": "^18.2.0", + "react-redux": "^8.0.5", "react-router-dom": "^6.0.2", - "react-scripts": "5.0.0", + "react-scripts": "5.0.1", "react-slick": "^0.29.0", "react-toastify": "^9.0.1", "redux": "^4.2.0", @@ -3509,6 +3510,15 @@ } } }, + "node_modules/@react-oauth/google": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@react-oauth/google/-/google-0.11.0.tgz", + "integrity": "sha512-yeypwdQCcFIAo43OqVOLBfUXuxmxt3xiybfP9h3smtBW4UeFXFVQDsq+d+GlbZFo0TpONPR2+KCk/KT1/pQnvQ==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@reduxjs/toolkit": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.1.tgz", @@ -5476,20 +5486,6 @@ "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -6173,13 +6169,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, "node_modules/core-js-compat": { "version": "3.27.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", @@ -8307,6 +8296,26 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, + "node_modules/flutterwave-react-v3": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flutterwave-react-v3/-/flutterwave-react-v3-1.3.0.tgz", + "integrity": "sha512-y0dGSgxh9H/KMSDFurnoPYO3D6DSeOCZHPdLt8DnbtCkjgYgzNdqeXKvxerEaOJyitzXITsmlbzYdrEO/Lju3g==", + "dependencies": { + "axios": "^0.21.1" + }, + "peerDependencies": { + "react": "^15.0.0 || ^18.0.0", + "react-dom": "^15.0.0 || ^18.0.0" + } + }, + "node_modules/flutterwave-react-v3/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", @@ -12506,11 +12515,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lottie-web": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.10.1.tgz", - "integrity": "sha512-u17bVNf/vA3oK9Wkyb1Vpo83WUIEQwaT0GeEN0qcvaExizyJ/RjmcbjSDj0CnwQCtpGqTgYhqprCC7cTWuXMNw==" - }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -15045,21 +15049,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/react-lottie": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/react-lottie/-/react-lottie-1.2.3.tgz", - "integrity": "sha512-qLCERxUr8M+4mm1LU0Ruxw5Y5Fn/OmYkGfnA+JDM/dZb3oKwVAJCjwnjkj9TMHtzR2U6sMEUD3ZZ1RaHagM7kA==", - "dependencies": { - "babel-runtime": "^6.26.0", - "lottie-web": "^5.1.3" - }, - "engines": { - "npm": "^3.0.0" - }, - "peerDependencies": { - "react": "^0.14.7 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/react-redux": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", @@ -15142,9 +15131,9 @@ } }, "node_modules/react-scripts": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.0.tgz", - "integrity": "sha512-3i0L2CyIlROz7mxETEdfif6Sfhh9Lfpzi10CtcGs1emDQStmZfWjJbAIMtRD0opVUjQuFWqHZyRZ9PPzKCFxWg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -15162,7 +15151,7 @@ "dotenv": "^10.0.0", "dotenv-expand": "^5.1.0", "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.0", + "eslint-config-react-app": "^7.0.1", "eslint-webpack-plugin": "^3.1.1", "file-loader": "^6.2.0", "fs-extra": "^10.0.0", @@ -15179,7 +15168,7 @@ "postcss-preset-env": "^7.0.1", "prompts": "^2.4.2", "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.0", + "react-dev-utils": "^12.0.1", "react-refresh": "^0.11.0", "resolve": "^1.20.0", "resolve-url-loader": "^4.0.0", diff --git a/src/Routers.jsx b/src/Routers.jsx index e51461b..65bf038 100644 --- a/src/Routers.jsx +++ b/src/Routers.jsx @@ -39,6 +39,7 @@ import MyPendingJobsPage from "./views/MyPendingJobsPage"; import ManageActiveJobs from "./views/ManageActiveJobs"; import FamilyManagePage from "./views/FamilyManagePage"; import MyCouponPage from "./views/MyCouponPage"; +import AuthRedirect from "./views/AuthRedirect"; export default function Routers() { return ( @@ -47,6 +48,7 @@ export default function Routers() { {/* guest routes */} } /> } /> + } /> { + if(!codeResponse){ + navigate('/login', {replace: true}) + return + } + console.log(codeResponse) + },[]) + return ( +
Redirecting ...
+ ) +} + +export default Redirect \ No newline at end of file diff --git a/src/components/AuthPages/Login/index.jsx b/src/components/AuthPages/Login/index.jsx index 83a7e62..c8a5c2b 100644 --- a/src/components/AuthPages/Login/index.jsx +++ b/src/components/AuthPages/Login/index.jsx @@ -130,17 +130,11 @@ export default function Login() { flow: 'auth-code', ux_mode:'redirect', redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL, - onSuccess: async (tokenResponse) => { - console.log(tokenResponse); - // const userInfo = await axios.get( - // 'https://www.googleapis.com/oauth2/v3/userinfo', - // { headers: { Authorization: `Bearer ${tokenResponse.access_token}` } }, - // ); - // console.log(userInfo); + onSuccess: async (codeResponse) => { + console.log(codeResponse); }, onError: (errorResponse) => console.log(errorResponse), }); - console.log(process.env.REACT_APP_GOOGLE_CLIENT_ID, process.env.REACT_APP_GOOGLE_REDIRECT_URL) useEffect(() => { setMail(""); diff --git a/src/views/AuthRedirect.jsx b/src/views/AuthRedirect.jsx new file mode 100644 index 0000000..05558b5 --- /dev/null +++ b/src/views/AuthRedirect.jsx @@ -0,0 +1,13 @@ +import React from 'react' + +import Redirect from '../components/AuthPages/AuthRedirect/Redirect' + +function AuthRedirect() { + return ( + <> + + + ) +} + +export default AuthRedirect \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b8fcbb0..bfcbcff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1596,6 +1596,11 @@ schema-utils "^3.0.0" source-map "^0.7.3" +"@react-oauth/google@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@react-oauth/google/-/google-0.11.0.tgz" + integrity sha512-yeypwdQCcFIAo43OqVOLBfUXuxmxt3xiybfP9h3smtBW4UeFXFVQDsq+d+GlbZFo0TpONPR2+KCk/KT1/pQnvQ== + "@reduxjs/toolkit@^1.8.2": version "1.9.1" resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.1.tgz" @@ -2747,6 +2752,13 @@ axe-core@^4.6.2: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz" integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg== +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + axios@^0.24.0: version "0.24.0" resolved "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz" @@ -2897,14 +2909,6 @@ babel-preset-react-app@^10.0.1: babel-plugin-macros "^3.1.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -3396,11 +3400,6 @@ core-js-pure@^3.23.3, core-js-pure@^3.25.1: resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz" integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw== -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - core-js@^3.19.2: version "3.27.1" resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz" @@ -4176,7 +4175,7 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-react-app@^7.0.0: +eslint-config-react-app@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== @@ -4703,7 +4702,14 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.4: +flutterwave-react-v3@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/flutterwave-react-v3/-/flutterwave-react-v3-1.3.0.tgz" + integrity sha512-y0dGSgxh9H/KMSDFurnoPYO3D6DSeOCZHPdLt8DnbtCkjgYgzNdqeXKvxerEaOJyitzXITsmlbzYdrEO/Lju3g== + dependencies: + axios "^0.21.1" + +follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.4: version "1.15.2" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -6402,11 +6408,6 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lottie-web@^5.1.3: - version "5.10.1" - resolved "https://registry.npmjs.org/lottie-web/-/lottie-web-5.10.1.tgz" - integrity sha512-u17bVNf/vA3oK9Wkyb1Vpo83WUIEQwaT0GeEN0qcvaExizyJ/RjmcbjSDj0CnwQCtpGqTgYhqprCC7cTWuXMNw== - lower-case@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" @@ -7760,7 +7761,7 @@ react-countup@^6.2.0: "@rollup/plugin-babel" "^6.0.2" countup.js "^2.3.2" -react-dev-utils@^12.0.0: +react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== @@ -7790,7 +7791,7 @@ react-dev-utils@^12.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.0.0: +react-dom@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -7823,15 +7824,7 @@ react-is@^18.0.0: resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-lottie@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/react-lottie/-/react-lottie-1.2.3.tgz" - integrity sha512-qLCERxUr8M+4mm1LU0Ruxw5Y5Fn/OmYkGfnA+JDM/dZb3oKwVAJCjwnjkj9TMHtzR2U6sMEUD3ZZ1RaHagM7kA== - dependencies: - babel-runtime "^6.26.0" - lottie-web "^5.1.3" - -react-redux@^8.0.2: +react-redux@^8.0.5: version "8.0.5" resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz" integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw== @@ -7863,10 +7856,10 @@ react-router@6.6.2: dependencies: "@remix-run/router" "1.2.1" -react-scripts@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.0.tgz" - integrity sha512-3i0L2CyIlROz7mxETEdfif6Sfhh9Lfpzi10CtcGs1emDQStmZfWjJbAIMtRD0opVUjQuFWqHZyRZ9PPzKCFxWg== +react-scripts@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" + integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== dependencies: "@babel/core" "^7.16.0" "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" @@ -7884,7 +7877,7 @@ react-scripts@5.0.0: dotenv "^10.0.0" dotenv-expand "^5.1.0" eslint "^8.3.0" - eslint-config-react-app "^7.0.0" + eslint-config-react-app "^7.0.1" eslint-webpack-plugin "^3.1.1" file-loader "^6.2.0" fs-extra "^10.0.0" @@ -7901,7 +7894,7 @@ react-scripts@5.0.0: postcss-preset-env "^7.0.1" prompts "^2.4.2" react-app-polyfill "^3.0.0" - react-dev-utils "^12.0.0" + react-dev-utils "^12.0.1" react-refresh "^0.11.0" resolve "^1.20.0" resolve-url-loader "^4.0.0" @@ -7936,7 +7929,7 @@ react-toastify@^9.0.1: dependencies: clsx "^1.1.1" -react@^18.0.0: +react@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -8018,11 +8011,6 @@ regenerate@^1.4.2: resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9: version "0.13.11" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" From dfd601abc2b9a2f8f6e86fbfdae9b56c902ffa05 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Sat, 27 May 2023 20:20:14 +0100 Subject: [PATCH 4/6] offer job popout added --- src/components/MyTasks/MyJobTable.jsx | 8 +- src/components/MyTasks/MyOffersTable.jsx | 28 ++++- src/components/jobPopout/OfferJobPopout.jsx | 117 ++++++++++++++++++++ 3 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 src/components/jobPopout/OfferJobPopout.jsx diff --git a/src/components/MyTasks/MyJobTable.jsx b/src/components/MyTasks/MyJobTable.jsx index d0dcad6..2393e31 100644 --- a/src/components/MyTasks/MyJobTable.jsx +++ b/src/components/MyTasks/MyJobTable.jsx @@ -128,11 +128,11 @@ export default function MyJobTable({ className }) { )) ) : ( - - +
+
No Tasks! - - +
+
)} diff --git a/src/components/MyTasks/MyOffersTable.jsx b/src/components/MyTasks/MyOffersTable.jsx index 6e6dc27..71051de 100644 --- a/src/components/MyTasks/MyOffersTable.jsx +++ b/src/components/MyTasks/MyOffersTable.jsx @@ -1,4 +1,4 @@ -import React, { useRef } from "react"; +import React, { useRef, useState } from "react"; import top from "../../assets/images/top-buyer-1png.png"; import top2 from "../../assets/images/top-buyer-2.png"; import top3 from "../../assets/images/top-buyer-3.png"; @@ -6,8 +6,11 @@ import top4 from "../../assets/images/top-buyer-4.png"; import Icons from "../Helpers/Icons"; import SliderCom from "../Helpers/SliderCom"; +import OfferJobPopout from '../jobPopout/OfferJobPopout' + export default function MyOffersTable({ className, MyActiveOffersList}) { + let [offerPopout, setOfferPopout] = useState({ show: false, data: {} }); // STATE TO HOLD THE VALUE OF THE ALERT DETAILS AND DETERMINE WHEN TO SHOW const settings = { arrows: false, dots: false, @@ -128,6 +131,16 @@ export default function MyOffersTable({ className, MyActiveOffersList}) { {value.price*0.01} {value.currency} + + ))} @@ -372,6 +385,19 @@ export default function MyOffersTable({ className, MyActiveOffersList}) { + + {/* Offer Job Popout */} + {offerPopout.show && ( + { + setOfferPopout({ show: false, data: {} }); + }} + situation={offerPopout.show} + /> + )} + {/* End of Offer Job Popout */} + ); diff --git a/src/components/jobPopout/OfferJobPopout.jsx b/src/components/jobPopout/OfferJobPopout.jsx new file mode 100644 index 0000000..c1e010b --- /dev/null +++ b/src/components/jobPopout/OfferJobPopout.jsx @@ -0,0 +1,117 @@ +import React from 'react' +import Detail from './popoutcomponent/Detail' +import ModalCom from '../Helpers/ModalCom' + + +function OfferJobPopout({details, onClose, situation}) { + return ( + +
+
+

+ Start Task +

+ +
+
+
+

Opportunity to make some money by introducing 10 of our recent stories from our

+ + {/* INPUT SECTION */} +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + {/* ACTION SECTION */} +
+
+ +
+ +
+ +
+
+
+ + {/* close button */} +
+ +
+ {/* end of close button */} +
+
+ ) +} + +export default OfferJobPopout \ No newline at end of file From c9cc47ce8e01d08f6dc854400e91db63b5e6ca21 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 28 May 2023 15:24:45 -0400 Subject: [PATCH 5/6] offer table --- src/components/MyTasks/MyOffersTable.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/MyTasks/MyOffersTable.jsx b/src/components/MyTasks/MyOffersTable.jsx index 71051de..580f547 100644 --- a/src/components/MyTasks/MyOffersTable.jsx +++ b/src/components/MyTasks/MyOffersTable.jsx @@ -107,11 +107,12 @@ export default function MyOffersTable({ className, MyActiveOffersList}) {
+ {MyActiveOffersList && MyActiveOffersList?.result_list?.length > 0 && MyActiveOffersList.result_list.map((value, index) => ( -
+
{/* title */}
@@ -131,11 +132,10 @@ export default function MyOffersTable({ className, MyActiveOffersList}) { {value.price*0.01} {value.currency}
-
))} + + {/*
*/} {/* /!* img *!/*/} {/*
*/} From e09b6f07ec38d482c698cb12197dc6ad9bf0e370 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 28 May 2023 16:41:56 -0400 Subject: [PATCH 6/6] Family on mobile menu --- src/components/Partials/MobileSideBar.jsx | 29 +++++++++++++++++++++++ src/components/Partials/Sidebar.jsx | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/components/Partials/MobileSideBar.jsx b/src/components/Partials/MobileSideBar.jsx index b35704c..d0d393b 100644 --- a/src/components/Partials/MobileSideBar.jsx +++ b/src/components/Partials/MobileSideBar.jsx @@ -108,6 +108,35 @@ export default function MobileSidebar({ sidebar, action, logoutModalHandler }) {
+ {/* menu and settings item */} + {userDetails?.account_type !== "FAMILY" && ( + +
+ {/* menus item */} +
+
+
+

+ Family +

+
+
    + +
+
+
+
+ )} + {userDetails?.account_type !== "FAMILY" && ( <> {!userDetails?.post_jobs ? ( diff --git a/src/components/Partials/Sidebar.jsx b/src/components/Partials/Sidebar.jsx index a1b605b..d2cb1fd 100644 --- a/src/components/Partials/Sidebar.jsx +++ b/src/components/Partials/Sidebar.jsx @@ -4,7 +4,7 @@ import { NavLink } from "react-router-dom"; import { default as logo, default as logo3, -} from "../../assets/images/wrenchboard.png"; //logo-2.svg"; +} from "../../assets/images/wrenchboard.png"; import DarkModeContext from "../Contexts/DarkModeContext"; import Icons from "../Helpers/Icons";