Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce29e623d4 |
Generated
+86
@@ -8,6 +8,7 @@
|
||||
"name": "WrenchBoard-Users",
|
||||
"version": "0.2.0",
|
||||
"dependencies": {
|
||||
"@fvilers/disable-react-devtools": "^1.3.0",
|
||||
"@react-oauth/google": "^0.11.0",
|
||||
"@reduxjs/toolkit": "^1.8.2",
|
||||
"@tailwindcss/line-clamp": "^0.3.1",
|
||||
@@ -36,6 +37,7 @@
|
||||
"react-toastify": "^9.0.1",
|
||||
"redux": "^4.2.0",
|
||||
"slick-carousel": "^1.8.1",
|
||||
"socket.io-client": "^4.4.1",
|
||||
"web-vitals": "^1.0.1",
|
||||
"yup": "^1.1.1"
|
||||
}
|
||||
@@ -2302,6 +2304,11 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/@fvilers/disable-react-devtools": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@fvilers/disable-react-devtools/-/disable-react-devtools-1.3.0.tgz",
|
||||
"integrity": "sha512-LbASP6voPkKS5b6OlQhupEDtMeoAakamauqLEFHatkQUTmblNY5nPK7/eSqKBXxExT6uypVPczpTsJjJIrhpOQ=="
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.11.8",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
|
||||
@@ -3717,6 +3724,11 @@
|
||||
"@sinonjs/commons": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@socket.io/component-emitter": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
||||
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
|
||||
},
|
||||
"node_modules/@surma/rollup-plugin-off-main-thread": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
|
||||
@@ -7078,6 +7090,46 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client": {
|
||||
"version": "6.6.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz",
|
||||
"integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~5.2.1",
|
||||
"ws": "~8.17.1",
|
||||
"xmlhttprequest-ssl": "~2.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client/node_modules/ws": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
||||
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
|
||||
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.12.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
|
||||
@@ -16099,6 +16151,32 @@
|
||||
"jquery": ">=1.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-client": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
|
||||
"integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io-client": "~6.6.1",
|
||||
"socket.io-parser": "~4.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-parser": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
|
||||
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sockjs": {
|
||||
"version": "0.3.24",
|
||||
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
||||
@@ -18111,6 +18189,14 @@
|
||||
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
|
||||
},
|
||||
"node_modules/xmlhttprequest-ssl": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
|
||||
"integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
|
||||
+43
-43
@@ -31,50 +31,50 @@ import InviteRefer from './views/InviteRefer';
|
||||
import MyRefer from './views/MyRefer';
|
||||
|
||||
|
||||
const HomePages = lazy(() => import("./views/HomePages"));
|
||||
const ScrollToTop = lazy(() => import("./components/Helpers/ScrollToTop"));
|
||||
const StartJob = lazy(() => import("./components/MyJobs/StartJob"));
|
||||
const Notification = lazy(() => import("./components/Notification"));
|
||||
const AuthRoute = lazy(() => import("./middleware/AuthRoute"));
|
||||
const AuthProfilePage = lazy(() => import("./views/AuthProfilePage"));
|
||||
const BlogPage = lazy(() => import("./views/BlogPage"));
|
||||
const FamilyManagePage = lazy(() => import("./views/FamilyManagePage"));
|
||||
const FamilyMarketPage = lazy(() => import("./views/FamilyMarketPage"));
|
||||
import HomePages from "./views/HomePages"
|
||||
import ScrollToTop from "./components/Helpers/ScrollToTop"
|
||||
import StartJob from "./components/MyJobs/StartJob"
|
||||
import Notification from "./components/Notification"
|
||||
import AuthRoute from "./middleware/AuthRoute"
|
||||
import AuthProfilePage from "./views/AuthProfilePage"
|
||||
import BlogPage from "./views/BlogPage"
|
||||
import FamilyManagePage from "./views/FamilyManagePage"
|
||||
import FamilyMarketPage from "./views/FamilyMarketPage"
|
||||
|
||||
const HistoryPage = lazy(()=> import("./views/HistoryPage"));
|
||||
const JobGroupsPage = lazy(()=> import("./views/JobGroupsPage"));
|
||||
const ManageActiveJobs = lazy(()=> import("./views/ManageActiveJobs"));
|
||||
const ManageInterestOfferPage = lazy(()=> import("./views/ManageInterestOfferPage"));
|
||||
const MarketPlacePage = lazy(()=> import("./views/MarketPlacePage"));
|
||||
const MyActiveJobsPage = lazy(()=> import("./views/MyActiveJobsPage"));
|
||||
const MyCouponPage = lazy(()=> import("./views/MyCouponPage"));
|
||||
const MyJobsPage = lazy(()=> import("./views/MyJobsPage"));
|
||||
const MyOffersPage = lazy(()=> import("./views/MyOffersPage"));
|
||||
const MyPastDueJobsPage = lazy(()=> import("./views/MyPastDueJobsPage"));
|
||||
const MyReviewDueJobsPage = lazy(()=> import("./views/MyReviewDueJobsPage"));
|
||||
const MyTaskPage = lazy(()=> import("./views/MyTaskPage"));
|
||||
const MyWaitingJobsPage = lazy(()=> import("./views/MyWaitingJobsPage"));
|
||||
const MyWalletPage = lazy(()=> import("./views/MyWalletPage"));
|
||||
const OffersInterestPage = lazy(()=> import("./views/OffersInterestPage"));
|
||||
const ReferralPage = lazy(()=> import("./views/ReferralPage"));
|
||||
const RemindersPage = lazy(()=> import("./views/RemindersPage"));
|
||||
const ResourcePage = lazy(()=> import("./views/ResourcePage"));
|
||||
const SettingsPage = lazy(()=> import("./views/SettingsPage"));
|
||||
const TrackingPage = lazy(()=> import("./views/TrackingPage"));
|
||||
const UploadProductPage = lazy(()=> import("./views/UploadProductPage"));
|
||||
const UserProfilePage = lazy(()=> import("./views/UserProfilePage"));
|
||||
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"));
|
||||
import HistoryPage from "./views/HistoryPage"
|
||||
import JobGroupsPage from "./views/JobGroupsPage"
|
||||
import ManageActiveJobs from "./views/ManageActiveJobs"
|
||||
import ManageInterestOfferPage from "./views/ManageInterestOfferPage"
|
||||
import MarketPlacePage from "./views/MarketPlacePage"
|
||||
import MyActiveJobsPage from "./views/MyActiveJobsPage"
|
||||
import MyCouponPage from "./views/MyCouponPage"
|
||||
import MyJobsPage from "./views/MyJobsPage"
|
||||
import MyOffersPage from "./views/MyOffersPage"
|
||||
import MyPastDueJobsPage from "./views/MyPastDueJobsPage"
|
||||
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage"
|
||||
import MyTaskPage from "./views/MyTaskPage"
|
||||
import MyWaitingJobsPage from "./views/MyWaitingJobsPage"
|
||||
import MyWalletPage from "./views/MyWalletPage"
|
||||
import OffersInterestPage from "./views/OffersInterestPage"
|
||||
import ReferralPage from "./views/ReferralPage"
|
||||
import RemindersPage from "./views/RemindersPage"
|
||||
import ResourcePage from "./views/ResourcePage"
|
||||
import SettingsPage from "./views/SettingsPage"
|
||||
import TrackingPage from "./views/TrackingPage"
|
||||
import UploadProductPage from "./views/UploadProductPage"
|
||||
import UserProfilePage from "./views/UserProfilePage"
|
||||
import YourPages from "./views/YourPage_"
|
||||
import ParentWaitingPage from "./views/ParentWaitingPage"
|
||||
import FamilyPendingOfferPage from "./views/FamilyPendingOfferPage"
|
||||
import FamBlogPage from "./views/FamBlogPage"
|
||||
import FamAIQuestionPage from "./views/FamAIQuestionPage"
|
||||
import FamMyFilesPage from "./views/FamMyFilesPage"
|
||||
import FamWorkInProgressPage from "./views/FamWorkInProgressPage"
|
||||
import MyPastDueTasksPage from "./views/MyPastDueTasksPage"
|
||||
import FamilyWalletPage from "./views/FamilyWalletPage"
|
||||
import LearnMorePage from "./views/LearnMorePage"
|
||||
import FamGamesPage from "./views/FamGamesPage"
|
||||
import FamilyRoutesPage from "./views/FamilyRoutesPage"
|
||||
|
||||
export default function Routers() {
|
||||
return (
|
||||
|
||||
@@ -78,7 +78,25 @@ const AccountDashboard = ({ className, bannerList, offersList, imageServer }) =>
|
||||
{/* for flat banner section */}
|
||||
<div className="w-full grid-cols-1 md:grid-cols-2 2xl:grid-cols-3 grid items-center justify-center gap-2 md:gap-4">
|
||||
{/* OFFER LIST DISPLAY */}
|
||||
|
||||
{/* <>
|
||||
{(offersList && offersList?.length > 0) &&
|
||||
offersList.map((item, index) => {
|
||||
let thePrice = PriceFormatter(
|
||||
item?.price * 0.01,
|
||||
item?.currency_code,
|
||||
item?.currency
|
||||
);
|
||||
|
||||
let image = `${imageServer}${localStorage.getItem("session_token")}/job/${item.job_uid}`
|
||||
if(index >= 3) {
|
||||
return(
|
||||
<div key={item.offer_uid}>
|
||||
<NewOfferCardFlat datas={item} image={image} price={thePrice} setOfferPopout={setOfferPopout} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})}
|
||||
</> */}
|
||||
{getLowerBanner?.map((props, idx) => {
|
||||
let image = getImage(props);
|
||||
|
||||
@@ -132,15 +150,15 @@ const TopBanner = ({ image, title = "", desc = "", btn, link_path, key }) => {
|
||||
</Link>
|
||||
<div className="rounded-b-xl bg-white dark:bg-dark-white">
|
||||
<div className="border-b border-slate-300 px-2 py-1 h-[5.4rem] flex flex-col gap-2 dark:text-white">
|
||||
<Link to={link_path} className="font-bold text-xl line-clamp-1">
|
||||
<Link to={link_path} className="font-bold text-lg line-clamp-1">
|
||||
{title}
|
||||
</Link>
|
||||
<Link to={link_path} className="text-base line-clamp-1">
|
||||
<Link to={link_path} className="text-sm">
|
||||
{desc}
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex justify-between w-full p-1 items-center">
|
||||
<Link to={link_path} className="text-slate-300 font-semibold text-base">
|
||||
<Link to={link_path} className="text-slate-300 font-semibold text-sm">
|
||||
{btn}
|
||||
</Link>
|
||||
<button className="flex items-center justify-center gap-2">
|
||||
@@ -183,7 +201,7 @@ const NewOfferCard = ({ datas, hidden = false, price, setOfferPopout, image }) =
|
||||
</div>
|
||||
<div className="rounded-b-xl bg-transparent dark:bg-dark-transparent">
|
||||
<div className="border-b border-slate-300 px-2 py-1 h-[5.4rem] flex flex-col gap-2 dark:text-white">
|
||||
<h1 className="font-bold text-xl line-clamp-1 text-center">
|
||||
<h1 className="font-bold text-lg line-clamp-1 text-center">
|
||||
{datas?.title}
|
||||
</h1>
|
||||
<div className="card-buttons flex justify-center items-center space-x-2">
|
||||
@@ -192,7 +210,7 @@ const NewOfferCard = ({ datas, hidden = false, price, setOfferPopout, image }) =
|
||||
onClick={() =>
|
||||
setOfferPopout({ show: true, data: { ...datas, image } })
|
||||
}
|
||||
className="btn-shine w-2/3 h-[40px] text-white rounded-full text-base bg-pink flex justify-center items-center"
|
||||
className="btn-shine w-2/3 h-[40px] text-white rounded-full text-sm bg-pink flex justify-center items-center"
|
||||
>
|
||||
Start Now
|
||||
</button>
|
||||
@@ -222,7 +240,7 @@ const NewOfferCardFlat = ({ datas, hidden = false, price, setOfferPopout, image
|
||||
<div className="w-full xxs:flex justify-between items-center border-b border-slate-300 p-2">
|
||||
<div className="min-h-[130px] sm:min-h-[100px] flex justify-between items-center">
|
||||
<div className="px-2 flex flex-col gap-2 dark:text-white">
|
||||
<h1 className="font-bold text-xl line-clamp-1 text-center">
|
||||
<h1 className="font-bold text-lg line-clamp-1 text-center">
|
||||
{datas?.title}
|
||||
</h1>
|
||||
<div className="card-buttons flex items-center space-x-2">
|
||||
@@ -231,7 +249,7 @@ const NewOfferCardFlat = ({ datas, hidden = false, price, setOfferPopout, image
|
||||
onClick={() =>
|
||||
setOfferPopout({ show: true, data: { ...datas, image } })
|
||||
}
|
||||
className="btn-shine w-28 h-[40px] text-white rounded-full text-base bg-pink flex justify-center items-center"
|
||||
className="btn-shine w-28 h-[40px] text-white rounded-full text-sm bg-pink flex justify-center items-center"
|
||||
>
|
||||
Start Now
|
||||
</button>
|
||||
@@ -283,10 +301,10 @@ const LowerBanner = ({ image, title = "", desc = "", btn, link_path, card_type,
|
||||
<div className="w-full xxs:flex justify-between items-center border-b border-slate-300 p-2">
|
||||
<div className="min-h-[130px] sm:min-h-[100px] flex justify-between items-center">
|
||||
<div className="px-2 flex flex-col gap-2 dark:text-white">
|
||||
<Link to={newLinkPath} className="text-xl font-bold line-clamp-1">
|
||||
<Link to={newLinkPath} className="text-lg font-bold">
|
||||
{title}
|
||||
</Link>
|
||||
<p to={newLinkPath} className="text-base line-clamp-1">
|
||||
<p to={newLinkPath} className="text-sm">
|
||||
{desc}
|
||||
</p>
|
||||
</div>
|
||||
@@ -301,7 +319,7 @@ const LowerBanner = ({ image, title = "", desc = "", btn, link_path, card_type,
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex justify-between w-full p-1 items-center">
|
||||
<Link to={newLinkPath} className="text-slate-300 font-semibold text-base">
|
||||
<Link to={newLinkPath} className="text-slate-300 font-semibold text-sm">
|
||||
{btn}
|
||||
</Link>
|
||||
<button className="flex items-center justify-center gap-2">
|
||||
@@ -352,10 +370,10 @@ const BannerSection = ({ banners, variant }) => {
|
||||
}`}
|
||||
>
|
||||
<div className="border-b border-slate-300 px-2 py-1 h-[5.4rem] flex flex-col gap-2">
|
||||
<Link to={link_path} className="font-bold text-xl">
|
||||
<Link to={link_path} className="font-bold text-lg">
|
||||
{short_title}
|
||||
</Link>
|
||||
<Link to={link_path} className="text-base">
|
||||
<Link to={link_path} className="text-sm">
|
||||
{short_description}
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
@@ -22,6 +22,22 @@ export default function FamilyDash() {
|
||||
|
||||
const { userDetails } = useSelector((state) => state?.userDetails);
|
||||
|
||||
// let [reloadBanner, setReloadBanner] = useState(0)
|
||||
|
||||
// useEffect(()=>{
|
||||
// if(reloadBanner >= 2){
|
||||
// dispatch(tableReload({ type: "FAMILYBANNERSLIST" })); // RELOAD FAMILY BANNERS LIST EVERY 10 MINS
|
||||
// setReloadBanner(0)
|
||||
// }
|
||||
// const timer = setInterval(()=>{
|
||||
// setReloadBanner(prev => prev+1)
|
||||
// },300000)
|
||||
|
||||
// return ()=>{
|
||||
// clearInterval(timer)
|
||||
// }
|
||||
// },[reloadBanner])
|
||||
|
||||
return (
|
||||
<>
|
||||
<div>
|
||||
@@ -30,13 +46,13 @@ export default function FamilyDash() {
|
||||
<div className="text-white mb-4 min-h-[3rem] px-2 w-full flex justify-between items-center rounded-xl bg-family-header-bg">
|
||||
<div className="w-full">
|
||||
<div className="w-full flex flex-wrap gap-x-4 ">
|
||||
<p className="text-xl font-normal leading-5">Welcome</p>
|
||||
<p className="text-lg font-normal leading-5">Welcome</p>
|
||||
<div className="">
|
||||
<h1 className="text-xl font-normal leading-5">{`${userDetails?.firstname} ${userDetails?.lastname}`}</h1>
|
||||
<h1 className="text-lg font-normal leading-5">{`${userDetails?.firstname} ${userDetails?.lastname}`}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="py-1 w-full text-base text-right self-end">
|
||||
<div className="py-1 w-full text-sm text-right self-end">
|
||||
<p className="leading-4">Last Login: {`${userDetails?.last_login.split(' ')[0]}`}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,8 +76,8 @@ export default function FamilyDash() {
|
||||
<img className="w-full h-[10rem] object-cover rounded-t-xl" src={content.banner.image} alt='banner image' />
|
||||
<div className="flex flex-col justify-between">
|
||||
<div className="px-2 py-2 border-b border-transparent min-h-[4rem] flex flex-col gap-1">
|
||||
<h1 className="text-xl text-[#083e21] dark:text-white font-bold tracking-wide">{content.banner.text}</h1>
|
||||
<p className="text-base text-black dark:text-white">{content.banner.description}</p>
|
||||
<h1 className="text-lg text-[#083e21] dark:text-white font-bold tracking-wide">{content.banner.text}</h1>
|
||||
<p className="text-sm text-black dark:text-white">{content.banner.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -88,7 +104,7 @@ export default function FamilyDash() {
|
||||
</div>
|
||||
<div className="flex flex-col justify-between">
|
||||
<div className="px-2 py-1 border-b border-transparent min-h-[2rem] flex justify-between items-center gap-1">
|
||||
<h1 className="text-xl text-[#083e21] dark:text-white font-bold tracking-wide">{item?.content}</h1>
|
||||
<h1 className="text-lg text-[#083e21] dark:text-white font-bold tracking-wide">{item?.content}</h1>
|
||||
<div className="flex justify-center gap-1">
|
||||
<div className="w-1 h-1 bg-slate-400 rounded-full"></div>
|
||||
<div className="w-1 h-1 bg-slate-400 rounded-full"></div>
|
||||
@@ -105,6 +121,22 @@ export default function FamilyDash() {
|
||||
}
|
||||
</>
|
||||
}
|
||||
|
||||
{/* {familyOffers?.result_list && familyOffers?.result_list.length > 0 && (
|
||||
<MyOffersFamilyTable
|
||||
familyOffers={familyOffers?.result_list}
|
||||
image_server={familyOffers?.session_image_server}
|
||||
className="mb-10"
|
||||
/>
|
||||
)} */}
|
||||
|
||||
{/* {trending && trending.length > 0 && (
|
||||
<FamilyActiveLSlde
|
||||
trending={trending}
|
||||
className="mb-10"
|
||||
image_server={serverImg}
|
||||
/>
|
||||
)} */}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import React, { useState, useEffect } from "react";
|
||||
import {Navigate} from 'react-router-dom'
|
||||
import datas from "../../data/product_data.json";
|
||||
import Layout from "../Partials/Layout";
|
||||
import usersService from "../../services/UsersService";
|
||||
@@ -44,10 +43,9 @@ export default function Home(props) {
|
||||
}
|
||||
</>
|
||||
) : (
|
||||
// <div>
|
||||
// You are not logged in or your account type is not supported.
|
||||
// </div>
|
||||
<Navigate to='/login' />
|
||||
<div>
|
||||
You are not logged in or your account type is not supported.
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
</div>
|
||||
|
||||
@@ -73,7 +73,7 @@ export default function LearnMore() {
|
||||
return
|
||||
}
|
||||
const resData = res?.data?.result_list || []
|
||||
console.log('resData', resData)
|
||||
// console.log('resData', resData)
|
||||
setTopics(prev => ({...prev, loading: false, data: resData}))
|
||||
setTabs(prev => {
|
||||
return prev?.map((item, index) => ({...item, title:resData[index]?.topic}))
|
||||
|
||||
@@ -133,7 +133,11 @@ const MarketPopUp = ({ details, onClose, situation, marketInt, marketPlaceProduc
|
||||
// let addedIntDate = marketInt?.added?.split(" ")[0];
|
||||
// let expireIntDate = marketInt?.expire?.split(" ")[0];
|
||||
|
||||
let cleanedText = details?.job_description?.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/&/g, "&");
|
||||
let cleanedText = details?.job_description
|
||||
?.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, '"')
|
||||
.replace(/&/g, "&");
|
||||
|
||||
return (
|
||||
<ModalCom action={onClose} situation={situation}>
|
||||
@@ -193,8 +197,8 @@ const MarketPopUp = ({ details, onClose, situation, marketInt, marketPlaceProduc
|
||||
<div
|
||||
className={`w-full p-2 md:w-3/4 text-slate-900 dark:text-white market-pop rounded-2xl ${
|
||||
name == "Description"
|
||||
? "min-h-[100px] max-h-[100px] h-full overflow-y-auto break-words bg-slate-50"
|
||||
: name == "Delivery Detail" ? " overflow-y-auto h-full min-h-[200px] max-h-[200px] bg-slate-50"
|
||||
? "min-h-[150px] max-h-[150px] h-full overflow-y-auto break-words bg-slate-50"
|
||||
: name == "Delivery Detail" ? " overflow-y-auto h-full min-h-[150px] max-h-[150px] bg-slate-50"
|
||||
: "h-full flex items-center"
|
||||
}`}
|
||||
>
|
||||
|
||||
@@ -480,7 +480,7 @@ export default function Header({ logoutModalHandler, sidebarHandler }) {
|
||||
{/* end Language list items*/}
|
||||
</li>
|
||||
<li className="content-item my-2 hover:bg-slate-100 transition duration-500 rounded-lg">
|
||||
<Link to="/settings" className="notifications">
|
||||
<Link to="#" className="notifications">
|
||||
<div className="name">
|
||||
<p className="text-sm py-2 px-4 text-dark-gray dark:text-white hover:text-sky-blue transition font-medium">
|
||||
Account Settings
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* Regular Weight */
|
||||
@font-face {
|
||||
font-family: Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif,"Product Sans";
|
||||
font-family: "Product Sans";
|
||||
src: url("./assets/fonts/Product Sans Regular.ttf");
|
||||
}
|
||||
.nft-main-container {
|
||||
@@ -8,7 +8,7 @@
|
||||
}
|
||||
/* Bold Weight */
|
||||
@font-face {
|
||||
font-family: Roboto,"Product Sans";
|
||||
font-family: "Product Sans";
|
||||
src: url("./assets/fonts/Product Sans Bold.ttf");
|
||||
}
|
||||
.SENDER {
|
||||
|
||||
@@ -90,7 +90,7 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
||||
apiCall
|
||||
.loadProfile()
|
||||
.then((res) => {
|
||||
if (!res?.data?.internal_return || res?.data?.internal_return < 0) {
|
||||
if (res?.data?.internal_return < 0) {
|
||||
setIsLogin({ loading: false, status: false });
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1674,7 +1674,7 @@ class usersService {
|
||||
}
|
||||
|
||||
postAuxEnd(uri, reqData, uploadPost=false) {
|
||||
const endPoint = uploadPost ? process.env.REACT_APP_MEDIA_LINK + uri : process.env.REACT_APP_USERS_ENDPOINT + uri;
|
||||
const endPoint = uploadPost ? process.env.REACT_APP_MEDIA_LINK + uri : 'https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1' + uri;
|
||||
const session_token = localStorage.getItem("session_token");
|
||||
// session_token = session_token !=null ?session_token : '';
|
||||
// 'Authorization': `Basic ${(session_token !=null) ?session_token : ''}`,
|
||||
@@ -1695,7 +1695,7 @@ class usersService {
|
||||
if(localStorage && localStorage.getItem('myloc')){
|
||||
reqData.loc = localStorage.getItem('myloc')
|
||||
}
|
||||
return Axios.post(endPoint, reqData,{timeout: 7000 })
|
||||
return Axios.post(endPoint, reqData)
|
||||
.then((response) => {
|
||||
// console.log(response);
|
||||
// console.log("~~~~~~~ WrenchBoard::POST ~~~~~~~~");
|
||||
|
||||
Reference in New Issue
Block a user