Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c889c0b093 | |||
| 6b95b8d1ce | |||
| c60debfbba | |||
| cee984e574 | |||
| bf28e501a9 | |||
| 441b21ec35 | |||
| 5f8acf0d7d | |||
| aaf98caf19 | |||
| 3326a61a1f | |||
| 5d4033348c | |||
| 9fb7bb3ed9 | |||
| 4e9f95e59e | |||
| a35394c546 | |||
| 5e1c22674a | |||
| 1f58eec668 | |||
| a161453752 | |||
| 823fea91fb | |||
| ff88b5ddb2 | |||
| 55c99f1c33 | |||
| 334357bdc1 | |||
| 4ef031a03f |
@@ -1,4 +1,5 @@
|
|||||||
SKIP_PREFLIGHT_CHECK=true
|
SKIP_PREFLIGHT_CHECK=true
|
||||||
|
REACT_APP_NODE_ENV="development"
|
||||||
|
|
||||||
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
||||||
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
||||||
|
|||||||
+11
-16
@@ -1,4 +1,5 @@
|
|||||||
SKIP_PREFLIGHT_CHECK=true
|
SKIP_PREFLIGHT_CHECK=true
|
||||||
|
REACT_APP_NODE_ENV="development"
|
||||||
|
|
||||||
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
||||||
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
||||||
@@ -9,15 +10,15 @@ REACT_APP_APPSITE="https://myfitapp.mermsemr.com"
|
|||||||
|
|
||||||
# REACT_APP_AUX_ENDPOINT="http://10.20.30.32:9083/svs/user"
|
# REACT_APP_AUX_ENDPOINT="http://10.20.30.32:9083/svs/user"
|
||||||
# REACT_APP_USERS_ENDPOINT="http://10.20.30.32:9083/svs/user"
|
# REACT_APP_USERS_ENDPOINT="http://10.20.30.32:9083/svs/user"
|
||||||
#REACT_APP_AUX_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/svs/user"
|
# REACT_APP_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/svs/user"
|
||||||
#REACT_APP_USERS_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/svs/user"
|
# REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/svs/user"
|
||||||
|
|
||||||
REACT_APP_AUX_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
|
REACT_APP_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
|
||||||
REACT_APP_USERS_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
|
REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
|
||||||
REACT_APP_ENDPOINT_KEY="WRENCH-BOARD-2024"
|
REACT_APP_ENDPOINT_KEY="WRENCH-BOARD-2024"
|
||||||
|
|
||||||
#SOCKETS ENDS
|
#SOCKETS ENDS
|
||||||
REACT_APP_PRIMARY_SOCKET="https://socket.wrenchboard.com"
|
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
|
||||||
|
|
||||||
#"https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
|
#"https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
|
||||||
|
|
||||||
@@ -35,20 +36,13 @@ REACT_APP_RESET_START_ERROR_TIMEOUT=3000
|
|||||||
#NUMBER OF ITEMS PER PAGE
|
#NUMBER OF ITEMS PER PAGE
|
||||||
REACT_APP_ITEM_PER_PAGE=5
|
REACT_APP_ITEM_PER_PAGE=5
|
||||||
|
|
||||||
#apigate.orion.g1.wrenchboard.com:76.209.103.227
|
#apigate.lotus.g1.wrenchboard.com:76.209.103.227
|
||||||
#apigate.orion.g1.wrenchboard.com:76.209.103.227
|
#apigate.orion.g1.wrenchboard.com:76.209.103.227
|
||||||
|
|
||||||
REACT_APP_GOOGLE_CLIENT_ID=817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com
|
REACT_APP_GOOGLE_CLIENT_ID=817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com
|
||||||
REACT_APP_GOOGLE_CLIENT_SECRET=aozK_2G8UjaCmLgPPkv9abIm
|
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_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=https://users.wrenchboard.com/login/auth/
|
REACT_APP_GOOGLE_REDIRECT_URL=http://localhost:9082/login/auth/
|
||||||
|
|
||||||
REACT_APP_FACEBOOK_CLIENT_ID2=390204307987009
|
|
||||||
REACT_APP_FACEBOOK_CLIENT_SECRET2=19f778e312f2ab96d147bacb612910c2
|
|
||||||
REACT_APP_FACEBOOK_CLIENT_SCOPE="email,public_profile"
|
|
||||||
REACT_APP_FACEBOOK_REDIRECT_URL="https://users.wrenchboard.com/login/auth/flogin"
|
|
||||||
|
|
||||||
DISABLE_ESLINT_PLUGIN=true
|
|
||||||
|
|
||||||
#File Handling
|
#File Handling
|
||||||
REACT_APP_MAX_FILE_SIZE=1048576
|
REACT_APP_MAX_FILE_SIZE=1048576
|
||||||
@@ -56,6 +50,7 @@ REACT_APP_MAX_VIDEO_FILE_SIZE=31457280
|
|||||||
REACT_APP_TOTAL_NUM_FILE=4
|
REACT_APP_TOTAL_NUM_FILE=4
|
||||||
|
|
||||||
REACT_APP_LOGOUT_TEXT="Sign Out"
|
REACT_APP_LOGOUT_TEXT="Sign Out"
|
||||||
|
|
||||||
REACT_APP_APPLE_SOCIAL_LOGIN=0
|
REACT_APP_APPLE_SOCIAL_LOGIN=0
|
||||||
REACT_APP_LINKEDIN_SOCIAL_LOGIN=0
|
REACT_APP_LINKEDIN_SOCIAL_LOGIN=0
|
||||||
|
|
||||||
@@ -94,7 +89,7 @@ REACT_APP_SHOW_ACCOUNT_DASH=1
|
|||||||
REACT_APP_SHOW_SLIDER_BANNERS=0
|
REACT_APP_SHOW_SLIDER_BANNERS=0
|
||||||
|
|
||||||
# FOR MEDIA LINK
|
# FOR MEDIA LINK
|
||||||
REACT_APP_MEDIA_LINK='https://media.wrenchboard.com'
|
REACT_APP_MEDIA_LINK='https://dev-media.wrenchboard.com'
|
||||||
|
|
||||||
# FOR FAMILY GAME LINK
|
# FOR FAMILY GAME LINK
|
||||||
REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
|
REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
|
||||||
@@ -103,4 +98,4 @@ REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
|
|||||||
REACT_APP_CUSTOMTIMER=90
|
REACT_APP_CUSTOMTIMER=90
|
||||||
|
|
||||||
#SHOW OR HIDE MY PAGE LINK ROUTE
|
#SHOW OR HIDE MY PAGE LINK ROUTE
|
||||||
REACT_APP_SHOW_USER_PAGE=0
|
REACT_APP_SHOW_USER_PAGE=1
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
SKIP_PREFLIGHT_CHECK=true
|
SKIP_PREFLIGHT_CHECK=true
|
||||||
|
REACT_APP_NODE_ENV="production"
|
||||||
|
|
||||||
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
REACT_APP_FACEBOOK="https://www.facebook.com/profile.php?id=100066498622246"
|
||||||
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
REACT_APP_TWITTER="https://twitter.com/fluxtra"
|
||||||
|
|||||||
+5
-2
@@ -1,5 +1,8 @@
|
|||||||
# pull the base image
|
# pull the base image
|
||||||
FROM node:alpine
|
#FROM node:alpine
|
||||||
|
FROM node:20.11.0-alpine
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Build args
|
# Build args
|
||||||
ARG NODE_ENV
|
ARG NODE_ENV
|
||||||
@@ -26,7 +29,7 @@ COPY nginx.conf ./
|
|||||||
|
|
||||||
COPY run.sh ./
|
COPY run.sh ./
|
||||||
|
|
||||||
RUN npm install --legacy-peer-deps
|
# RUN npm install --legacy-peer-deps
|
||||||
|
|
||||||
# add app
|
# add app
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|||||||
+3
-2
@@ -3,6 +3,7 @@
|
|||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fvilers/disable-react-devtools": "^1.3.0",
|
||||||
"@react-oauth/google": "^0.11.0",
|
"@react-oauth/google": "^0.11.0",
|
||||||
"@reduxjs/toolkit": "^1.8.2",
|
"@reduxjs/toolkit": "^1.8.2",
|
||||||
"@tailwindcss/line-clamp": "^0.3.1",
|
"@tailwindcss/line-clamp": "^0.3.1",
|
||||||
@@ -36,8 +37,8 @@
|
|||||||
"yup": "^1.1.1"
|
"yup": "^1.1.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "react-scripts start -e .env.production",
|
"start": "react-scripts start -e .env.development",
|
||||||
"build": "react-scripts build -e .env.production",
|
"build": "GENERATE_SOURCEMAP=false react-scripts build -e .env.production",
|
||||||
"test": "react-scripts test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-scripts eject"
|
"eject": "react-scripts eject"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"short_name": "React App",
|
"short_name": "WrenchBoard App",
|
||||||
"name": "Create React App Sample",
|
"name": "WrenchBoard User Web",
|
||||||
"icons": [],
|
"icons": [],
|
||||||
"start_url": ".",
|
"start_url": ".",
|
||||||
"display": "standalone",
|
"display": "standalone",
|
||||||
|
|||||||
@@ -13,8 +13,9 @@ else
|
|||||||
# build the app and serve it via nginx
|
# build the app and serve it via nginx
|
||||||
echo "Production build"
|
echo "Production build"
|
||||||
npm install --legacy-peer-deps
|
npm install --legacy-peer-deps
|
||||||
#npm run build
|
npm run build
|
||||||
npm start
|
# Testing sometimes
|
||||||
|
# npm run start
|
||||||
nginx -g 'daemon off;' -c /usr/src/app/nginx.conf
|
nginx -g 'daemon off;' -c /usr/src/app/nginx.conf
|
||||||
nginx -c /usr/src/app/nginx.conf
|
nginx -c /usr/src/app/nginx.conf
|
||||||
fi
|
fi
|
||||||
|
|||||||
+15
-5
@@ -1,23 +1,33 @@
|
|||||||
|
import {Suspense, lazy} from 'react'
|
||||||
import { Navigate, useLocation } from "react-router-dom";
|
import { Navigate, useLocation } from "react-router-dom";
|
||||||
import Routers from "./Routers";
|
// import Routers from "./Routers";
|
||||||
|
// import SocketIOContextProvider from "./components/Contexts/SocketIOContext";
|
||||||
import Toaster from "./components/Helpers/Toaster";
|
import Toaster from "./components/Helpers/Toaster";
|
||||||
import Default from "./components/Partials/Default";
|
import Default from "./components/Partials/Default";
|
||||||
import SocketIOContextProvider from "./components/Contexts/SocketIOContext";
|
|
||||||
|
|
||||||
|
import { disableReactDevTools } from '@fvilers/disable-react-devtools';
|
||||||
|
import LoadingSpinner from './components/Spinners/LoadingSpinner';
|
||||||
|
|
||||||
|
if (process.env.REACT_APP_NODE_ENV === 'production') {
|
||||||
|
disableReactDevTools();
|
||||||
|
}
|
||||||
|
const Routers = lazy(()=>import('./Routers'))
|
||||||
function App() {
|
function App() {
|
||||||
const { pathname } = useLocation();
|
const { pathname } = useLocation();
|
||||||
return (
|
return (
|
||||||
<Default>
|
<Default>
|
||||||
<SocketIOContextProvider>
|
{/* <SocketIOContextProvider> */}
|
||||||
<>
|
<>
|
||||||
{pathname.startsWith("/@") ? (
|
{pathname.startsWith("/@") ? (
|
||||||
<Navigate to="/app" replace={true} />
|
<Navigate to="/app" replace={true} />
|
||||||
) : (
|
) : (
|
||||||
<Routers />
|
<Suspense fallback={<LoadingSpinner size="32" color="sky-blue" height="h-screen" />}>
|
||||||
|
<Routers />
|
||||||
|
</Suspense>
|
||||||
)}
|
)}
|
||||||
<Toaster />
|
<Toaster />
|
||||||
</>
|
</>
|
||||||
</SocketIOContextProvider>
|
{/* </SocketIOContextProvider> */}
|
||||||
</Default>
|
</Default>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+160
-155
@@ -1,76 +1,79 @@
|
|||||||
import { Route, Routes } from "react-router-dom";
|
import { Route, Routes } from "react-router-dom";
|
||||||
import FourZeroFour from "./components/FourZeroFour";
|
import { lazy } from "react";
|
||||||
import ScrollToTop from "./components/Helpers/ScrollToTop";
|
|
||||||
import StartJob from "./components/MyJobs/StartJob";
|
|
||||||
import Notification from "./components/Notification";
|
|
||||||
import AuthRoute from "./middleware/AuthRoute";
|
|
||||||
import AppDownloadPage from "./views/AppDownloadPage";
|
|
||||||
import AppleRedirectPage from "./views/AppleRedirectPage";
|
|
||||||
import AuthProfilePage from "./views/AuthProfilePage";
|
|
||||||
import AuthRedirect from "./views/AuthRedirect";
|
|
||||||
import BlogPage from "./views/BlogPage";
|
|
||||||
import CalendarPage from "./views/CalendarPage";
|
|
||||||
import CollectionItemPage from "./views/CollectionItemPage";
|
|
||||||
import FacebookRedirect from "./views/FacebookRedirect";
|
|
||||||
import FamilyAccPage from "./views/FamilyAccPage";
|
|
||||||
import FamilyManagePage from "./views/FamilyManagePage";
|
|
||||||
import FamilyMarketPage from "./views/FamilyMarketPage";
|
|
||||||
import FamilySettingsPage from "./views/FamilySettingsPage";
|
|
||||||
import ForgotPasswordPages from "./views/ForgotPasswordPages";
|
|
||||||
import ForgotPasswordPagesTwo from "./views/ForgotPasswordPagesTwo";
|
|
||||||
import HistoryPage from "./views/HistoryPage";
|
|
||||||
import HomePages from "./views/HomePages";
|
|
||||||
import JobGroupsPage from "./views/JobGroupsPage";
|
|
||||||
import LndPage from "./views/LndPage";
|
|
||||||
import LoginPage from "./views/LoginPage";
|
|
||||||
import LoginPageTwo from "./views/LoginPageTwo";
|
|
||||||
import LoginLandingPage from './views/LoginLandingPage'
|
import LoginLandingPage from './views/LoginLandingPage'
|
||||||
import ManageActiveJobs from "./views/ManageActiveJobs";
|
import LoginPage from "./views/LoginPage";
|
||||||
import ManageInterestOfferPage from "./views/ManageInterestOfferPage";
|
import HomePages from "./views/HomePages";
|
||||||
import MarketPlacePage from "./views/MarketPlacePage";
|
import SocketConnection from "./middleware/SocketConnection";
|
||||||
import MyActiveJobsPage from "./views/MyActiveJobsPage";
|
|
||||||
import MyCouponPage from "./views/MyCouponPage";
|
|
||||||
import MyJobsPage from "./views/MyJobsPage";
|
const FourZeroFour = lazy(() => import("./components/FourZeroFour"));
|
||||||
import MyOffersPage from "./views/MyOffersPage";
|
const ScrollToTop = lazy(() => import("./components/Helpers/ScrollToTop"));
|
||||||
import MyPastDueJobsPage from "./views/MyPastDueJobsPage";
|
const StartJob = lazy(() => import("./components/MyJobs/StartJob"));
|
||||||
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage";
|
const Notification = lazy(() => import("./components/Notification"));
|
||||||
import MyTaskPage from "./views/MyTaskPage";
|
const AuthRoute = lazy(() => import("./middleware/AuthRoute"));
|
||||||
import MyWaitingJobsPage from "./views/MyWaitingJobsPage";
|
const AppDownloadPage = lazy(() => import("./views/AppDownloadPage"));
|
||||||
import MyWalletPage from "./views/MyWalletPage";
|
const AppleRedirectPage = lazy(() => import("./views/AppleRedirectPage"));
|
||||||
import OffersInterestPage from "./views/OffersInterestPage";
|
const AuthProfilePage = lazy(() => import("./views/AuthProfilePage"));
|
||||||
import ReferralPage from "./views/ReferralPage";
|
const AuthRedirect = lazy(() => import("./views/AuthRedirect"));
|
||||||
import RemindersPage from "./views/RemindersPage";
|
const BlogPage = lazy(() => import("./views/BlogPage"));
|
||||||
import ResourcePage from "./views/ResourcePage";
|
const CalendarPage = lazy(() => import("./views/CalendarPage"));
|
||||||
import SavedPage from "./views/SavedPage";
|
const CollectionItemPage = lazy(() => import("./views/CollectionItemPage"));
|
||||||
import SellPage from "./views/SellPage";
|
const FacebookRedirect = lazy(() => import("./views/FacebookRedirect"));
|
||||||
import SettingsPage from "./views/SettingsPage";
|
const FamilyManagePage = lazy(() => import("./views/FamilyManagePage"));
|
||||||
import SignupPage from "./views/SignupPage";
|
const FamilyMarketPage = lazy(() => import("./views/FamilyMarketPage"));
|
||||||
import SignupPageTwo from "./views/SignupPageTwo";
|
|
||||||
import TrackingPage from "./views/TrackingPage";
|
const ForgotPasswordPages = lazy(()=> import("./views/ForgotPasswordPages"));
|
||||||
import UpdatePasswordPages from "./views/UpdatePasswordPages";
|
const ForgotPasswordPagesTwo = lazy(()=> import("./views/ForgotPasswordPagesTwo"));
|
||||||
import UpdatePasswordPagesTwo from "./views/UpdatePasswordPagesTwo";
|
const HistoryPage = lazy(()=> import("./views/HistoryPage"));
|
||||||
import UploadProductPage from "./views/UploadProductPage";
|
const JobGroupsPage = lazy(()=> import("./views/JobGroupsPage"));
|
||||||
import UserProfilePage from "./views/UserProfilePage";
|
const LndPage = lazy(()=> import("./views/LndPage"));
|
||||||
import VerifyLinkPages from "./views/VerifyLinkPages";
|
const LoginPageTwo = lazy(()=> import("./views/LoginPageTwo"));
|
||||||
import VerifyLinkPagesTwo from "./views/VerifyLinkPagesTwo";
|
const ManageActiveJobs = lazy(()=> import("./views/ManageActiveJobs"));
|
||||||
import VerifyPasswordPages from "./views/VerifyPasswordPages";
|
const ManageInterestOfferPage = lazy(()=> import("./views/ManageInterestOfferPage"));
|
||||||
import VerifyPasswordPagesTwo from "./views/VerifyPasswordPagesTwo";
|
const MarketPlacePage = lazy(()=> import("./views/MarketPlacePage"));
|
||||||
import VerifyYouPages from "./views/VerifyYouPages";
|
const MyActiveJobsPage = lazy(()=> import("./views/MyActiveJobsPage"));
|
||||||
import VerifyYouPagesTwo from "./views/VerifyYouPagesTwo";
|
const MyCouponPage = lazy(()=> import("./views/MyCouponPage"));
|
||||||
import YourPages from "./views/YourPage_";
|
const MyJobsPage = lazy(()=> import("./views/MyJobsPage"));
|
||||||
import ParentWaitingPage from "./views/ParentWaitingPage";
|
const MyOffersPage = lazy(()=> import("./views/MyOffersPage"));
|
||||||
import FamilyPendingOfferPage from "./views/FamilyPendingOfferPage";
|
const MyPastDueJobsPage = lazy(()=> import("./views/MyPastDueJobsPage"));
|
||||||
import FamBlogPage from "./views/FamBlogPage"
|
const MyReviewDueJobsPage = lazy(()=> import("./views/MyReviewDueJobsPage"));
|
||||||
import FamAIQuestionPage from "./views/FamAIQuestionPage"
|
const MyTaskPage = lazy(()=> import("./views/MyTaskPage"));
|
||||||
import FamMyFilesPage from "./views/FamMyFilesPage"
|
const MyWaitingJobsPage = lazy(()=> import("./views/MyWaitingJobsPage"));
|
||||||
import FamWorkInProgressPage from "./views/FamWorkInProgressPage";
|
const MyWalletPage = lazy(()=> import("./views/MyWalletPage"));
|
||||||
import MyPastDueTasksPage from "./views/MyPastDueTasksPage";
|
const OffersInterestPage = lazy(()=> import("./views/OffersInterestPage"));
|
||||||
import FamilyWalletPage from "./views/FamilyWalletPage";
|
const ReferralPage = lazy(()=> import("./views/ReferralPage"));
|
||||||
import FamilyActivitiesPage from "./views/FamilyActivitiesPage";
|
const RemindersPage = lazy(()=> import("./views/RemindersPage"));
|
||||||
import FamGamesPage from "./views/FamGamesPage";
|
const ResourcePage = lazy(()=> import("./views/ResourcePage"));
|
||||||
import FamilyRoutesPage from "./views/FamilyRoutesPage";
|
const SavedPage = lazy(()=> import("./views/SavedPage"));
|
||||||
import PromoPage from "./views/PromoPage";
|
const SellPage = lazy(()=> import("./views/SellPage"));
|
||||||
import LearnMorePage from "./views/LearnMorePage";
|
const SettingsPage = lazy(()=> import("./views/SettingsPage"));
|
||||||
|
const SignupPage = lazy(()=> import("./views/SignupPage"));
|
||||||
|
const SignupPageTwo = lazy(()=> import("./views/SignupPageTwo"));
|
||||||
|
const TrackingPage = lazy(()=> import("./views/TrackingPage"));
|
||||||
|
const UpdatePasswordPages = lazy(()=> import("./views/UpdatePasswordPages"));
|
||||||
|
const UpdatePasswordPagesTwo = lazy(()=> import("./views/UpdatePasswordPagesTwo"));
|
||||||
|
const UploadProductPage = lazy(()=> import("./views/UploadProductPage"));
|
||||||
|
const UserProfilePage = lazy(()=> import("./views/UserProfilePage"));
|
||||||
|
const VerifyLinkPages = lazy(()=> import("./views/VerifyLinkPages"));
|
||||||
|
const VerifyLinkPagesTwo = lazy(()=> import("./views/VerifyLinkPagesTwo"));
|
||||||
|
const VerifyPasswordPages = lazy(()=> import("./views/VerifyPasswordPages"));
|
||||||
|
const VerifyPasswordPagesTwo = lazy(()=> import("./views/VerifyPasswordPagesTwo"));
|
||||||
|
const VerifyYouPages = lazy(()=> import("./views/VerifyYouPages"));
|
||||||
|
const VerifyYouPagesTwo = lazy(()=> import("./views/VerifyYouPagesTwo"));
|
||||||
|
const YourPages = lazy(()=> import("./views/YourPage_"));
|
||||||
|
const ParentWaitingPage = lazy(()=> import("./views/ParentWaitingPage"));
|
||||||
|
const FamilyPendingOfferPage = lazy(()=> import("./views/FamilyPendingOfferPage"));
|
||||||
|
const FamBlogPage = lazy(()=> import("./views/FamBlogPage"));
|
||||||
|
const FamAIQuestionPage = lazy(()=> import("./views/FamAIQuestionPage"));
|
||||||
|
const FamMyFilesPage = lazy(()=> import("./views/FamMyFilesPage"));
|
||||||
|
const FamWorkInProgressPage = lazy(()=> import("./views/FamWorkInProgressPage"));
|
||||||
|
const MyPastDueTasksPage = lazy(()=> import("./views/MyPastDueTasksPage"));
|
||||||
|
const FamilyWalletPage = lazy(()=> import("./views/FamilyWalletPage"));
|
||||||
|
const LearnMorePage = lazy(()=> import("./views/LearnMorePage"));
|
||||||
|
const FamGamesPage = lazy(()=> import("./views/FamGamesPage"));
|
||||||
|
const FamilyRoutesPage = lazy(()=> import("./views/FamilyRoutesPage"));
|
||||||
|
const PromoPage = lazy(()=> import("./views/PromoPage"));
|
||||||
|
|
||||||
export default function Routers() {
|
export default function Routers() {
|
||||||
return (
|
return (
|
||||||
@@ -127,94 +130,96 @@ export default function Routers() {
|
|||||||
<Route exact path="/app" element={<AppDownloadPage />} />
|
<Route exact path="/app" element={<AppDownloadPage />} />
|
||||||
|
|
||||||
{/* private route */}
|
{/* private route */}
|
||||||
<Route element={<AuthRoute />}>
|
<Route element={<SocketConnection />}>
|
||||||
<Route exact path="/" element={<HomePages />} />
|
<Route element={<AuthRoute />}>
|
||||||
{/* <Route exact path="/active-bids" element={<AcitveBidsPage />} />
|
<Route exact path="/" element={<HomePages />} />
|
||||||
<Route exact path="/notification" element={<Notification />} />
|
{/* <Route exact path="/active-bids" element={<AcitveBidsPage />} />
|
||||||
<Route exact path="/market-place" element={<MarketPlacePage />} />
|
<Route exact path="/notification" element={<Notification />} />
|
||||||
<Route exact path="/shop-details" element={<ShopDetailsPage />} />
|
<Route exact path="/market-place" element={<MarketPlacePage />} />
|
||||||
<Route exact path="/my-collection" element={<MyCollection />} />*/}
|
<Route exact path="/shop-details" element={<ShopDetailsPage />} />
|
||||||
<Route exact path="/reminders" element={<RemindersPage />} />
|
<Route exact path="/my-collection" element={<MyCollection />} />*/}
|
||||||
<Route exact path="/tracking" element={<TrackingPage />} />
|
<Route exact path="/reminders" element={<RemindersPage />} />
|
||||||
<Route exact path="/calendar" element={<CalendarPage />} />
|
<Route exact path="/tracking" element={<TrackingPage />} />
|
||||||
<Route exact path="/resources" element={<ResourcePage />} />
|
<Route exact path="/calendar" element={<CalendarPage />} />
|
||||||
<Route exact path="/my-wallet/*" element={<MyWalletPage />} />
|
<Route exact path="/resources" element={<ResourcePage />} />
|
||||||
<Route exact path="/family-wallet" element={<FamilyWalletPage />} />
|
<Route exact path="/my-wallet/*" element={<MyWalletPage />} />
|
||||||
<Route exact path="/my-coupon" element={<MyCouponPage />} />
|
<Route exact path="/family-wallet" element={<FamilyWalletPage />} />
|
||||||
<Route exact path="/notification" element={<Notification />} />
|
<Route exact path="/my-coupon" element={<MyCouponPage />} />
|
||||||
<Route exact path="/market-place" element={<MarketPlacePage />} />
|
<Route exact path="/notification" element={<Notification />} />
|
||||||
<Route exact path="/market" element={<MarketPlacePage />} />
|
<Route exact path="/market-place" element={<MarketPlacePage />} />
|
||||||
<Route exact path="/familymarket" element={<FamilyMarketPage />} />
|
<Route exact path="/market" element={<MarketPlacePage />} />
|
||||||
<Route exact path="/suggested" element={<ParentWaitingPage />} />
|
<Route exact path="/familymarket" element={<FamilyMarketPage />} />
|
||||||
<Route exact path="/parentwaiting" element={<ParentWaitingPage />} />
|
<Route exact path="/suggested" element={<ParentWaitingPage />} />
|
||||||
<Route exact path="/pending" element={<FamilyPendingOfferPage />} />
|
<Route exact path="/parentwaiting" element={<ParentWaitingPage />} />
|
||||||
<Route exact path="/fam-blog" element={<FamBlogPage />} />
|
<Route exact path="/pending" element={<FamilyPendingOfferPage />} />
|
||||||
<Route exact path="/ai-question" element={<FamAIQuestionPage />} />
|
<Route exact path="/fam-blog" element={<FamBlogPage />} />
|
||||||
<Route exact path="/myfiles" element={<FamMyFilesPage />} />
|
<Route exact path="/ai-question" element={<FamAIQuestionPage />} />
|
||||||
<Route exact path="/ai-lab" element={<FamAIQuestionPage />} />
|
<Route exact path="/myfiles" element={<FamMyFilesPage />} />
|
||||||
<Route exact path="/fam-games" element={<FamGamesPage />} />
|
<Route exact path="/ai-lab" element={<FamAIQuestionPage />} />
|
||||||
<Route exact path="/work-in-progress" element={<FamWorkInProgressPage />} />
|
<Route exact path="/fam-games" element={<FamGamesPage />} />
|
||||||
|
<Route exact path="/work-in-progress" element={<FamWorkInProgressPage />} />
|
||||||
|
|
||||||
<Route exact path="/pastdue" element={<MyPastDueTasksPage />} />
|
<Route exact path="/pastdue" element={<MyPastDueTasksPage />} />
|
||||||
<Route exact path="/notification" element={<Notification />} />
|
<Route exact path="/notification" element={<Notification />} />
|
||||||
<Route exact path="/mytask" element={<MyTaskPage />} />
|
<Route exact path="/mytask" element={<MyTaskPage />} />
|
||||||
<Route exact path="/myjobs" element={<MyJobsPage />} />
|
<Route exact path="/myjobs" element={<MyJobsPage />} />
|
||||||
{/* <Route exact path="/add-job" element={<AddJobPage />} /> */}
|
{/* <Route exact path="/add-job" element={<AddJobPage />} /> */}
|
||||||
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
|
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/my-pastdue-jobs"
|
path="/my-pastdue-jobs"
|
||||||
element={<MyPastDueJobsPage />}
|
element={<MyPastDueJobsPage />}
|
||||||
/>
|
/>
|
||||||
<Route exact path="/my-offers" element={<MyOffersPage />} />
|
<Route exact path="/my-offers" element={<MyOffersPage />} />
|
||||||
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
|
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/my-review-jobs"
|
path="/my-review-jobs"
|
||||||
element={<MyReviewDueJobsPage />}
|
element={<MyReviewDueJobsPage />}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* <Route exact path='/acc-family' element={<FamilyAccPage />} />
|
{/* <Route exact path='/acc-family' element={<FamilyAccPage />} />
|
||||||
<Route exact path="/acc-family/activities" element={<FamilyActivitiesPage />} />
|
<Route exact path="/acc-family/activities" element={<FamilyActivitiesPage />} />
|
||||||
<Route exact path="/acc-family/familysettings" element={<FamilySettingsPage />} /> */}
|
<Route exact path="/acc-family/familysettings" element={<FamilySettingsPage />} /> */}
|
||||||
<Route path='/acc-family/*' element={<FamilyRoutesPage />} />
|
<Route path='/acc-family/*' element={<FamilyRoutesPage />} />
|
||||||
|
|
||||||
<Route exact path="/manage-family" element={<FamilyManagePage />} />
|
<Route exact path="/manage-family" element={<FamilyManagePage />} />
|
||||||
<Route exact path="/start-job" element={<StartJob />} />
|
<Route exact path="/start-job" element={<StartJob />} />
|
||||||
<Route exact path="/yourpage" element={<YourPages />} />
|
<Route exact path="/yourpage" element={<YourPages />} />
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/manage-active-job"
|
path="/manage-active-job"
|
||||||
element={<ManageActiveJobs />}
|
element={<ManageActiveJobs />}
|
||||||
/>
|
/>
|
||||||
<Route exact path="/blog-page" element={<BlogPage />} />
|
<Route exact path="/blog-page" element={<BlogPage />} />
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/offer-interest"
|
path="/offer-interest"
|
||||||
element={<OffersInterestPage />}
|
element={<OffersInterestPage />}
|
||||||
/>
|
/>
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/manage-offer"
|
path="/manage-offer"
|
||||||
element={<ManageInterestOfferPage />}
|
element={<ManageInterestOfferPage />}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/my-collection/collection-item"
|
path="/my-collection/collection-item"
|
||||||
element={<CollectionItemPage />}
|
element={<CollectionItemPage />}
|
||||||
/>
|
/>
|
||||||
<Route exact path="/sell" element={<SellPage />} />
|
<Route exact path="/sell" element={<SellPage />} />
|
||||||
<Route exact path="/saved" element={<SavedPage />} />
|
<Route exact path="/saved" element={<SavedPage />} />
|
||||||
<Route exact path="/history" element={<HistoryPage />} />
|
<Route exact path="/history" element={<HistoryPage />} />
|
||||||
<Route exact path="/learnmore" element={<LearnMorePage />} />
|
<Route exact path="/learnmore" element={<LearnMorePage />} />
|
||||||
{/*<Route exact path="/upload-product" element={<UploadProductPage />} />*/}
|
{/*<Route exact path="/upload-product" element={<UploadProductPage />} />*/}
|
||||||
<Route exact path="/my-uploads" element={<UploadProductPage />} />
|
<Route exact path="/my-uploads" element={<UploadProductPage />} />
|
||||||
<Route exact path="/profile" element={<AuthProfilePage />} />
|
<Route exact path="/profile" element={<AuthProfilePage />} />
|
||||||
<Route exact path="/user-profile" element={<UserProfilePage />} />
|
<Route exact path="/user-profile" element={<UserProfilePage />} />
|
||||||
<Route exact path="/settings" element={<SettingsPage />} />
|
<Route exact path="/settings" element={<SettingsPage />} />
|
||||||
<Route exact path="/referral" element={<ReferralPage />} />
|
<Route exact path="/referral" element={<ReferralPage />} />
|
||||||
<Route exact path="/job-groups" element={<JobGroupsPage />} />
|
<Route exact path="/job-groups" element={<JobGroupsPage />} />
|
||||||
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="*" element={<FourZeroFour />} />
|
<Route path="*" element={<FourZeroFour />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
|
|||||||
@@ -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]`}
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -1,63 +1,63 @@
|
|||||||
import React, { useState } from "react";
|
import React 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 CollectionTab from "./CollectionTab";
|
// import collections from "../../../data/collectionplan_data.json";
|
||||||
import CreatedTab from "./CreatedTab";
|
// import marketPlace from "../../../data/marketplace_data.json";
|
||||||
import HiddenProductsTab from "./HiddenProductsTab";
|
// import products from "../../../data/product_data.json";
|
||||||
import OnSaleTab from "./OnSaleTab";
|
// import CollectionTab from "./CollectionTab";
|
||||||
import OwnTab from "./OwnTab";
|
// import CreatedTab from "./CreatedTab";
|
||||||
|
// 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, { useEffect } from 'react';
|
import React, { useMemo, 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 = new usersService();
|
const userApi = useMemo(()=> 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 } from "react";
|
import React, { useEffect, useMemo } 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 = new usersService();
|
const userApi = useMemo(()=> 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 { Link, useNavigate } from "react-router-dom";
|
import { 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);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default function MarketPlace({ commonHeadData }) {
|
|||||||
const marketData = jobLists?.result_list;
|
const marketData = jobLists?.result_list;
|
||||||
const categories = jobLists?.categories;
|
const categories = jobLists?.categories;
|
||||||
const image_server = jobLists?.session_image_server;
|
const image_server = jobLists?.session_image_server;
|
||||||
console.log('Lenth', marketData?.length )
|
// console.log('Lenth', marketData?.length )
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(!jobLists.loading && (marketData?.length < 1 || !marketData)){
|
if(!jobLists.loading && (marketData?.length < 1 || !marketData)){
|
||||||
|
|||||||
+4
-2
@@ -1,4 +1,4 @@
|
|||||||
import React from "react";
|
import React ,{Suspense} from "react";
|
||||||
import ReactDOM from "react-dom/client";
|
import ReactDOM from "react-dom/client";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import { BrowserRouter } from "react-router-dom";
|
import { BrowserRouter } from "react-router-dom";
|
||||||
@@ -13,7 +13,9 @@ ReactDOM.createRoot(root).render(
|
|||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<GoogleOAuthProvider clientId={process.env.REACT_APP_GOOGLE_CLIENT_ID}>
|
<GoogleOAuthProvider clientId={process.env.REACT_APP_GOOGLE_CLIENT_ID}>
|
||||||
<App />
|
<Suspense>
|
||||||
|
<App />
|
||||||
|
</Suspense>
|
||||||
</GoogleOAuthProvider>
|
</GoogleOAuthProvider>
|
||||||
</Provider>
|
</Provider>
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import SocketIOContextProvider from '../components/Contexts/SocketIOContext'
|
||||||
|
import { Navigate, Outlet, useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
|
export default function SocketConnection() {
|
||||||
|
return (
|
||||||
|
<SocketIOContextProvider>
|
||||||
|
<Outlet />
|
||||||
|
</SocketIOContextProvider>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -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})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React, { useContext, useState, useEffect } from "react";
|
import React, { useMemo, 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 = new usersService()
|
const apiCall = useMemo(()=> 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)
|
||||||
})
|
})
|
||||||
},[offerInterestListReload])
|
},[apiCall, offerInterestListReload])
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
joinRoom(`INTEREST-${userDetails?.uid}`)
|
joinRoom(`INTEREST-${userDetails?.uid}`)
|
||||||
},[])
|
},[joinRoom, userDetails])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
+12
-12
@@ -1,22 +1,22 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React, { useCallback, useMemo, 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, pathname} = useLocation() // CHECKS IF THERE IS AN ACTIVE TAB WITH LINK BACK TO RESOURCES
|
const {state} = useLocation() // CHECKS IF THERE IS AN ACTIVE TAB WITH LINK BACK TO RESOURCES
|
||||||
const [MyResourceData, setMyResourceData] = useState([]);
|
const [MyResourceData, setMyResourceData] = useState([]);
|
||||||
const api = new usersService();
|
const api = useMemo(()=> new usersService(),[]);
|
||||||
const getMyResourceData = async () => {
|
const getMyResourceData = useCallback( 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 : ''} />;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user