Compare commits

..

3 Commits

Author SHA1 Message Date
victorAnumudu 4b132b0499 dashboard card font increased 2025-07-01 18:55:02 +01:00
ameye a3320724de Merge branch 'social-login-text-fix' of WrenchBoard/Users-Wrench into master 2025-06-14 01:51:34 +00:00
victorAnumudu ab8320a846 updated social login text size 2025-06-10 18:06:40 +01:00
6 changed files with 64 additions and 200 deletions
-86
View File
@@ -8,7 +8,6 @@
"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",
@@ -37,7 +36,6 @@
"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"
}
@@ -2304,11 +2302,6 @@
"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",
@@ -3724,11 +3717,6 @@
"@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",
@@ -7090,46 +7078,6 @@
"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",
@@ -16151,32 +16099,6 @@
"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",
@@ -18189,14 +18111,6 @@
"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
View File
@@ -31,50 +31,50 @@ import InviteRefer from './views/InviteRefer';
import MyRefer from './views/MyRefer';
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 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 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"
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"));
export default function Routers() {
return (
+13 -31
View File
@@ -78,25 +78,7 @@ 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);
@@ -150,15 +132,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-lg line-clamp-1">
<Link to={link_path} className="font-bold text-xl line-clamp-1">
{title}
</Link>
<Link to={link_path} className="text-sm">
<Link to={link_path} className="text-base line-clamp-1">
{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-sm">
<Link to={link_path} className="text-slate-300 font-semibold text-base">
{btn}
</Link>
<button className="flex items-center justify-center gap-2">
@@ -201,7 +183,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-lg line-clamp-1 text-center">
<h1 className="font-bold text-xl line-clamp-1 text-center">
{datas?.title}
</h1>
<div className="card-buttons flex justify-center items-center space-x-2">
@@ -210,7 +192,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-sm bg-pink flex justify-center items-center"
className="btn-shine w-2/3 h-[40px] text-white rounded-full text-base bg-pink flex justify-center items-center"
>
Start Now
</button>
@@ -240,7 +222,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-lg line-clamp-1 text-center">
<h1 className="font-bold text-xl line-clamp-1 text-center">
{datas?.title}
</h1>
<div className="card-buttons flex items-center space-x-2">
@@ -249,7 +231,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-sm bg-pink flex justify-center items-center"
className="btn-shine w-28 h-[40px] text-white rounded-full text-base bg-pink flex justify-center items-center"
>
Start Now
</button>
@@ -301,10 +283,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-lg font-bold">
<Link to={newLinkPath} className="text-xl font-bold line-clamp-1">
{title}
</Link>
<p to={newLinkPath} className="text-sm">
<p to={newLinkPath} className="text-base line-clamp-1">
{desc}
</p>
</div>
@@ -319,7 +301,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-sm">
<Link to={newLinkPath} className="text-slate-300 font-semibold text-base">
{btn}
</Link>
<button className="flex items-center justify-center gap-2">
@@ -370,10 +352,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-lg">
<Link to={link_path} className="font-bold text-xl">
{short_title}
</Link>
<Link to={link_path} className="text-sm">
<Link to={link_path} className="text-base">
{short_description}
</Link>
</div>
+6 -38
View File
@@ -22,22 +22,6 @@ 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>
@@ -46,13 +30,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-lg font-normal leading-5">Welcome</p>
<p className="text-xl font-normal leading-5">Welcome</p>
<div className="">
<h1 className="text-lg font-normal leading-5">{`${userDetails?.firstname} ${userDetails?.lastname}`}</h1>
<h1 className="text-xl font-normal leading-5">{`${userDetails?.firstname} ${userDetails?.lastname}`}</h1>
</div>
</div>
</div>
<div className="py-1 w-full text-sm text-right self-end">
<div className="py-1 w-full text-base text-right self-end">
<p className="leading-4">Last Login: {`${userDetails?.last_login.split(' ')[0]}`}</p>
</div>
</div>
@@ -76,8 +60,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-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>
<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>
</div>
</div>
</div>
@@ -104,7 +88,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-lg text-[#083e21] dark:text-white font-bold tracking-wide">{item?.content}</h1>
<h1 className="text-xl 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>
@@ -121,22 +105,6 @@ 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 -1
View File
@@ -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}))
+1 -1
View File
@@ -1674,7 +1674,7 @@ class usersService {
}
postAuxEnd(uri, reqData, uploadPost=false) {
const endPoint = uploadPost ? process.env.REACT_APP_MEDIA_LINK + uri : 'https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1' + uri;
const endPoint = uploadPost ? process.env.REACT_APP_MEDIA_LINK + uri : process.env.REACT_APP_USERS_ENDPOINT + uri;
const session_token = localStorage.getItem("session_token");
// session_token = session_token !=null ?session_token : '';
// 'Authorization': `Basic ${(session_token !=null) ?session_token : ''}`,