Compare commits

..

2 Commits

Author SHA1 Message Date
victorAnumudu aaf98caf19 Merge master into wallet-log-removal 2024-11-21 19:22:07 +01:00
Victor 3326a61a1f log removal 2024-11-21 19:17:36 +01:00
13 changed files with 99 additions and 99 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
}, },
"scripts": { "scripts": {
"start": "react-scripts start -e .env.development", "start": "react-scripts start -e .env.development",
"build": "GENERATE_SOURCEMAP=false react-scripts build -e .env.production", "build": "react-scripts build -e .env.production",
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject" "eject": "react-scripts eject"
}, },
+1 -1
View File
@@ -79,7 +79,7 @@ export default function Routers() {
<ScrollToTop> <ScrollToTop>
<Routes> <Routes>
{/* guest routes */} {/* guest routes */}
{process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ? ( {Number(process.env.REACT_APP_NEW_LOGIN_LAYOUT) === 1 ? (
<> <>
<Route exact path="/login" element={<LoginLandingPage />} /> <Route exact path="/login" element={<LoginLandingPage />} />
<Route exact path="/login/:type" element={<LoginPageTwo />} /> <Route exact path="/login/:type" element={<LoginPageTwo />} />
+5 -5
View File
@@ -3,7 +3,7 @@ import {
useDispatch, useDispatch,
useSelector, useSelector,
usersService, usersService,
// initialValues as IV, initialValues as IV,
initialReqState, initialReqState,
useState, useState,
tableReload, tableReload,
@@ -75,7 +75,7 @@ function AddJob({ popUpHandler, categories }) {
// For form initial values // For form initial values
const initialValues = { const initialValues = {
// initial values for formik // initial values for formik
country: walletDetails.data.length === 1 ? walletDetails.data[0].country : '', country: walletDetails.data.length == 1 ? walletDetails.data[0].country : '',
price: "", price: "",
title: "", title: "",
description: "", description: "",
@@ -117,7 +117,7 @@ function AddJob({ popUpHandler, categories }) {
className={`input-field p-2 mt-3 rounded-full placeholder:text-base text-dark-gray w-full h-[42px] bg-slate-100 focus:ring-0 focus:outline-none border`} className={`input-field p-2 mt-3 rounded-full placeholder:text-base text-dark-gray w-full h-[42px] bg-slate-100 focus:ring-0 focus:outline-none border`}
onChange={props.handleChange} onChange={props.handleChange}
onBlur={props.handleBlur} onBlur={props.handleBlur}
disabled={walletDetails.data.length === 1} disabled={walletDetails.data.length == 1}
> >
{walletDetails?.loading ? ( {walletDetails?.loading ? (
<option className="text-slate-500 text-lg" value=""> <option className="text-slate-500 text-lg" value="">
@@ -138,7 +138,7 @@ function AddJob({ popUpHandler, categories }) {
</option> </option>
))} ))}
</> </>
) : walletDetails.data.length === 1 ? ) : walletDetails.data.length == 1 ?
<> <>
{walletDetails.data?.map((item, index) => ( {walletDetails.data?.map((item, index) => (
<option <option
@@ -367,7 +367,7 @@ function AddJob({ popUpHandler, categories }) {
{/* ERROR DISPLAY AND SUBMIT BUTTON */} {/* ERROR DISPLAY AND SUBMIT BUTTON */}
<div className="content-footer w-full"> <div className="content-footer w-full">
{/* error or success display */} {/* error or success display */}
{requestStatus.message !== "" && {requestStatus.message != "" &&
(!requestStatus.status ? ( (!requestStatus.status ? (
<div <div
className={`relative p-4 my-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`} className={`relative p-4 my-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
+2 -2
View File
@@ -6,7 +6,7 @@ import WrenchBoard from "../../assets/images/wrenchboard-logo-text.png";
import DarkModeContext from "../Contexts/DarkModeContext"; import DarkModeContext from "../Contexts/DarkModeContext";
export default function LoginLayout({ slogan, children }) { export default function LoginLayout({ slogan, children }) {
// const bgImg = localImgLoad("images/left-wrenchboard.jpg"); const bgImg = localImgLoad("images/left-wrenchboard.jpg");
const bgImgNig = localImgLoad("images/wrench-home-back-nigeria.jpg"); const bgImgNig = localImgLoad("images/wrench-home-back-nigeria.jpg");
const bgImgCom = localImgLoad("images/wrench-home-back-common.jpg"); const bgImgCom = localImgLoad("images/wrench-home-back-common.jpg");
@@ -16,7 +16,7 @@ export default function LoginLayout({ slogan, children }) {
<div <div
className={`relative min-h-screen overflow-y-auto bg-cover bg-center flex flex-col items-center`} className={`relative min-h-screen overflow-y-auto bg-cover bg-center flex flex-col items-center`}
style={{ style={{
backgroundImage: `url(${countryMode === "NG" ? bgImgNig : bgImgCom})`, backgroundImage: `url(${countryMode == "NG" ? bgImgNig : bgImgCom})`,
}} }}
> >
<div className="my-5"> <div className="my-5">
+50 -50
View File
@@ -1,63 +1,63 @@
import React from "react"; import React, { useState } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import authProfilePic from "../../../assets/images/auth-profile-picture.png"; import authProfilePic from "../../../assets/images/auth-profile-picture.png";
import profileBanner from "../../../assets/images/profile-cover.png"; import profileBanner from "../../../assets/images/profile-cover.png";
import collections from "../../../data/collectionplan_data.json";
import marketPlace from "../../../data/marketplace_data.json";
import products from "../../../data/product_data.json";
import Layout from "../../Partials/Layout"; import Layout from "../../Partials/Layout";
import ActivitiesTab from "./ActivitiesTab"; import ActivitiesTab from "./ActivitiesTab";
// import collections from "../../../data/collectionplan_data.json"; import CollectionTab from "./CollectionTab";
// import marketPlace from "../../../data/marketplace_data.json"; import CreatedTab from "./CreatedTab";
// import products from "../../../data/product_data.json"; import HiddenProductsTab from "./HiddenProductsTab";
// import CollectionTab from "./CollectionTab"; import OnSaleTab from "./OnSaleTab";
// import CreatedTab from "./CreatedTab"; import OwnTab from "./OwnTab";
// import HiddenProductsTab from "./HiddenProductsTab";
// import OnSaleTab from "./OnSaleTab";
// import OwnTab from "./OwnTab";
export default function AuthProfile() { export default function AuthProfile() {
// const onSaleProducts = marketPlace.data; const onSaleProducts = marketPlace.data;
// const CreatedSell = marketPlace.data; const CreatedSell = marketPlace.data;
// const CreatedBits = products.datas; const CreatedBits = products.datas;
// const mainProducts = products.datas; // const mainProducts = products.datas;
// const ownProducts = products.datas; const ownProducts = products.datas;
// const collectionProducts = collections.data; const collectionProducts = collections.data;
// const tabs = [ const tabs = [
// { {
// id: 1, id: 1,
// name: "onsale", name: "onsale",
// content: "On Sale", content: "On Sale",
// }, },
// { {
// id: 2, id: 2,
// name: "owned", name: "owned",
// content: "Owned", content: "Owned",
// }, },
// { {
// id: 3, id: 3,
// name: "created", name: "created",
// content: "Created", content: "Created",
// }, },
// { {
// id: 4, id: 4,
// name: "hidden", name: "hidden",
// content: "Hidden", content: "Hidden",
// }, },
// { {
// id: 5, id: 5,
// name: "collection", name: "collection",
// content: "Collection", content: "Collection",
// }, },
// { {
// id: 6, id: 6,
// name: "activity", name: "activity",
// content: "Activity", content: "Activity",
// }, },
// ]; ];
// const [tab, setTab] = useState(tabs[0].name); const [tab, setTab] = useState(tabs[0].name);
// const tabHandler = (value) => { const tabHandler = (value) => {
// setTab(value); setTab(value);
// }; };
return ( return (
<> <>
<Layout> <Layout>
@@ -1,15 +1,15 @@
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { useLocation, useNavigate } from 'react-router-dom'; import { useLocation, useNavigate } from 'react-router-dom';
// import usersService from '../../../services/UsersService'; import usersService from '../../../services/UsersService';
// import {updateUserDetails} from "../../../store/UserDetails"; import {updateUserDetails} from "../../../store/UserDetails";
// import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import AuthLayout from "../AuthLayout"; import AuthLayout from "../AuthLayout";
function AppleRedirect() { function AppleRedirect() {
const location = useLocation(); const location = useLocation();
const navigate = useNavigate(); const navigate = useNavigate();
// const userApi = new usersService(); const userApi = new usersService();
// const dispatch = useDispatch() const dispatch = useDispatch()
const queryParams = new URLSearchParams(location?.search); const queryParams = new URLSearchParams(location?.search);
const codeResponse = queryParams.get("code"); const codeResponse = queryParams.get("code");
@@ -36,11 +36,11 @@ function AppleRedirect() {
redirect_uri=https%3A//oauth2.example.com/code& redirect_uri=https%3A//oauth2.example.com/code&
grant_type=authorization_code grant_type=authorization_code
*/ */
// var reqData = { var reqData = {
// auth_type: "APPLE", auth_type: "APPLE",
// code: codeResponse, code: codeResponse,
// redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL, redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
// }; };
// userApi // userApi
// .authStart(reqData) // .authStart(reqData)
// .then((res) => { // .then((res) => {
@@ -58,7 +58,7 @@ function AppleRedirect() {
// navigate('/login', {state: {error: true}}) // navigate('/login', {state: {error: true}})
// console.log(error); // console.log(error);
// }); // });
},[codeResponse, navigate]) },[])
return ( return (
<AuthLayout> <AuthLayout>
<div className='min-h-[70vh]'>Redirecting ... </div> <div className='min-h-[70vh]'>Redirecting ... </div>
@@ -1,4 +1,4 @@
import React, { useMemo, useEffect } from 'react'; import React, { useEffect } from 'react';
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { useLocation, useNavigate } from 'react-router-dom'; import { useLocation, useNavigate } from 'react-router-dom';
import usersService from '../../../services/UsersService'; import usersService from '../../../services/UsersService';
@@ -8,7 +8,7 @@ import AuthLayout from "../AuthLayout";
function FbookRedirect() { function FbookRedirect() {
const location = useLocation(); const location = useLocation();
const navigate = useNavigate(); const navigate = useNavigate();
const userApi = useMemo(()=>{new usersService()},[]); const userApi = new usersService();
const dispatch = useDispatch() const dispatch = useDispatch()
const queryParams = new URLSearchParams(location?.search); const queryParams = new URLSearchParams(location?.search);
@@ -52,7 +52,7 @@ function FbookRedirect() {
userApi userApi
.authStart(reqData) .authStart(reqData)
.then((res) => { .then((res) => {
if (res.status === 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) { if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) {
localStorage.setItem("member_id", `${res.data.member_id}`); localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`); localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`); localStorage.setItem("session_token", `${res.data.session}`);
@@ -66,7 +66,7 @@ function FbookRedirect() {
navigate('/login', {state: {error: true}}) navigate('/login', {state: {error: true}})
console.log(error); console.log(error);
}); });
},[codeResponse, userApi, dispatch, navigate]) },[])
return ( return (
<AuthLayout> <AuthLayout>
<div className='min-h-[70vh]'>Redirecting ... </div> <div className='min-h-[70vh]'>Redirecting ... </div>
@@ -1,4 +1,4 @@
import React, { useEffect, useMemo } from "react"; import React, { useEffect } from "react";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { useLocation, useNavigate } from "react-router-dom"; import { useLocation, useNavigate } from "react-router-dom";
import usersService from "../../../services/UsersService"; import usersService from "../../../services/UsersService";
@@ -8,7 +8,7 @@ import AuthLayout from "../AuthLayout";
function Redirect() { function Redirect() {
const location = useLocation(); const location = useLocation();
const navigate = useNavigate(); const navigate = useNavigate();
const userApi = useMemo(()=>{new usersService()},[]); const userApi = new usersService();
const dispatch = useDispatch(); const dispatch = useDispatch();
const queryParams = new URLSearchParams(location?.search); const queryParams = new URLSearchParams(location?.search);
@@ -40,7 +40,7 @@ function Redirect() {
.authStart(reqData) .authStart(reqData)
.then((res) => { .then((res) => {
if ( if (
res.status === 200 && res.status == 200 &&
res.data.internal_return >= 0 && res.data.internal_return >= 0 &&
res.data.member_id && res.data.member_id &&
res.data.uid && res.data.uid &&
@@ -59,7 +59,7 @@ function Redirect() {
navigate("/login", { state: { error: true } }); navigate("/login", { state: { error: true } });
console.log(error); console.log(error);
}); });
}, [codeResponse, userApi, dispatch, navigate]); }, []);
return ( return (
<AuthLayout> <AuthLayout>
<div className="min-h-[70vh]">Redirecting ... </div> <div className="min-h-[70vh]">Redirecting ... </div>
@@ -38,7 +38,7 @@ export default function ForgotPassword() {
} }
const resetHandler = async () => { const resetHandler = async () => {
if (email === "") { if (email == "") {
setMsgError("An email is required"); setMsgError("An email is required");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
@@ -1,6 +1,6 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { useNavigate } from "react-router-dom"; import { Link, useNavigate } from "react-router-dom";
// import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png"; import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import usersService from "../../../services/UsersService"; import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom"; import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout2"; import AuthLayout from "../AuthLayout2";
@@ -38,7 +38,7 @@ export default function ForgotPassword() {
} }
const resetHandler = async () => { const resetHandler = async () => {
if (email === "") { if (email == "") {
setMsgError("An email is required"); setMsgError("An email is required");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
+1 -1
View File
@@ -9,7 +9,7 @@ export default function MyWalletPage() {
useEffect(()=>{ useEffect(()=>{
let walletExist = wallet_available_status || localStorage.getItem('wallet_available_status') let walletExist = wallet_available_status || localStorage.getItem('wallet_available_status')
console.log(walletExist) // console.log(walletExist)
if(account_type == 'FULL' && walletExist != 'WALLET_AVAILABLE'){ if(account_type == 'FULL' && walletExist != 'WALLET_AVAILABLE'){
navigate('/', {replace: true}) navigate('/', {replace: true})
} }
+4 -4
View File
@@ -1,4 +1,4 @@
import React, { useMemo, useState, useEffect } from "react"; import React, { useContext, useState, useEffect } from "react";
// import BlogItem from "../components/Blogs"; // import BlogItem from "../components/Blogs";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
import OffersInterest from "../components/OffersInterest"; import OffersInterest from "../components/OffersInterest";
@@ -15,7 +15,7 @@ export default function OffersInterestPage() {
let {joinRoom} = SocketValues() // function to join room for socket let {joinRoom} = SocketValues() // function to join room for socket
const apiCall = useMemo(()=>{new usersService()},[]) const apiCall = new usersService()
let {commonHeadBanner} = useSelector(state => state.commonHeadBanner) let {commonHeadBanner} = useSelector(state => state.commonHeadBanner)
@@ -28,11 +28,11 @@ export default function OffersInterestPage() {
setOfferInterestList({loading: false, data: [], imgServer:''}) setOfferInterestList({loading: false, data: [], imgServer:''})
console.log('Error: ', err) console.log('Error: ', err)
}) })
},[apiCall, offerInterestListReload]) },[offerInterestListReload])
useEffect(()=>{ useEffect(()=>{
joinRoom(`INTEREST-${userDetails?.uid}`) joinRoom(`INTEREST-${userDetails?.uid}`)
},[joinRoom, userDetails]) },[])
return ( return (
<> <>
+12 -12
View File
@@ -1,22 +1,22 @@
import React, { useCallback, useMemo, useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import Resources from "../components/Resources"; import Resources from "../components/Resources";
import usersService from "../services/UsersService"; import usersService from "../services/UsersService";
import { useLocation } from "react-router-dom"; import { useLocation } from "react-router-dom";
export default function ResourcePage() { export default function ResourcePage() {
const {state} = useLocation() // CHECKS IF THERE IS AN ACTIVE TAB WITH LINK BACK TO RESOURCES const {state, pathname} = useLocation() // CHECKS IF THERE IS AN ACTIVE TAB WITH LINK BACK TO RESOURCES
const [MyResourceData, setMyResourceData] = useState([]); const [MyResourceData, setMyResourceData] = useState([]);
const api = useMemo(()=>{new usersService()},[]); const api = new usersService();
const getMyResourceData = useCallback( async () => { const getMyResourceData = async () => {
try { try {
const res = await api.getResourceList(); const res = await api.getResourceList();
setMyResourceData(res.data); setMyResourceData(res.data);
} catch (error) { } catch (error) {
throw new Error("Error getting mode"); throw new Error("Error getting mode");
} }
},[api]) };
useEffect(() => { useEffect(() => {
getMyResourceData(); getMyResourceData();
}, [getMyResourceData]); }, []);
return <Resources MyResourceData={MyResourceData} activeTab={state ? state.tab : ''} />; return <Resources MyResourceData={MyResourceData} activeTab={state ? state.tab : ''} />;
} }