added banner to family dashboard banner list
This commit was merged in pull request #574.
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
import { Link } from "react-router-dom";
|
||||||
|
import usersService from "../../services/UsersService";
|
||||||
import ParentWaiting from "../MyOffers/ParentWaiting";
|
import ParentWaiting from "../MyOffers/ParentWaiting";
|
||||||
import MyOffersFamilyTable from "../MyTasks/MyOffersFamilyTable";
|
import MyOffersFamilyTable from "../MyTasks/MyOffersFamilyTable";
|
||||||
import FamilyActiveLSlde from "./FamilyActiveLSlde";
|
import FamilyActiveLSlde from "./FamilyActiveLSlde";
|
||||||
import { Link } from "react-router-dom";
|
|
||||||
import usersService from "../../services/UsersService";
|
|
||||||
|
|
||||||
export default function FamilyDash({ familyOffers, MyActiveJobList }) {
|
export default function FamilyDash({ familyOffers, MyActiveJobList }) {
|
||||||
// console.log("PROPS IN FAMILY DASH->", familyOffers?.result_list);
|
// console.log("PROPS IN FAMILY DASH->", familyOffers?.result_list);
|
||||||
@@ -19,7 +19,7 @@ export default function FamilyDash({ familyOffers, MyActiveJobList }) {
|
|||||||
try {
|
try {
|
||||||
const res = await userApi.getFamilyBannersList();
|
const res = await userApi.getFamilyBannersList();
|
||||||
setFamilyBannersList({loading:false, result:res.data});
|
setFamilyBannersList({loading:false, result:res.data});
|
||||||
// console.log('TEST RESPONSE', res)
|
// console.log('TEST RESPONSE', res.data)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setFamilyBannersList({loading:false, result:[]});
|
setFamilyBannersList({loading:false, result:[]});
|
||||||
console.log("Error getting tasks");
|
console.log("Error getting tasks");
|
||||||
@@ -38,15 +38,17 @@ export default function FamilyDash({ familyOffers, MyActiveJobList }) {
|
|||||||
|
|
||||||
{process.env.REACT_APP_SHOW_NEW_FAMILY_DASH == '1' &&
|
{process.env.REACT_APP_SHOW_NEW_FAMILY_DASH == '1' &&
|
||||||
<>
|
<>
|
||||||
{!familyBannersList.loading && familyBannersList?.result?.data && Object.keys(familyBannersList?.result?.data).length > 0 &&
|
{!familyBannersList.loading && familyBannersList?.result?.result_list && Object.keys(familyBannersList?.result?.result_list).length > 0 &&
|
||||||
// Loop for Family Banners
|
// Loop for Family Banners
|
||||||
<div className="w-full mb-4 grid grid-cols-2 md:grid-cols-4 gap-2 md:gap-4">
|
<div className="w-full mb-4 grid grid-cols-2 md:grid-cols-4 gap-2 md:gap-4">
|
||||||
{Object.keys(familyBannersList?.result?.data).map((item, index) => {
|
{Object.keys(familyBannersList?.result?.result_list).map((item, index) => {
|
||||||
let content = familyBannersList?.result?.data[item]
|
let content = familyBannersList?.result?.result_list[item]
|
||||||
return (
|
return (
|
||||||
<Link key={item} to='/' className={`p-2 h-40 rounded-lg shadow-sm flex justify-center items-center ${index%2==0 ? 'bg-red-200/50' : 'bg-sky-300/50'}`}>
|
<Link key={item} to='/' className={`p-2 h-40 rounded-lg shadow-sm flex justify-center items-center transition-all duration-300 hover:shadow-md ${index%2==0 ? 'bg-red-200/50' : 'bg-sky-300/50'}`}>
|
||||||
<div className="">
|
<div className="h-full w-full">
|
||||||
{content.banner.text} for <span className="font-bold">{item}</span> content
|
<img className="w-full h-1/2 object-cover rounded-lg" src={content.banner.image} alt='banner image' />
|
||||||
|
<h1 className="my-2 text-lg font-medium tracking-wide">{content.banner.text}</h1>
|
||||||
|
<p className="text-sm">{content.banner.description}</p>
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,11 +25,11 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
userDetails: { username, uid, session },
|
userDetails: { username, uid, session, account_type },
|
||||||
} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
|
} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
|
||||||
|
|
||||||
let loggedIn = username && session && uid ? true : false; // variable to determine if user is logged in
|
let loggedIn = username && session && uid ? true : false; // variable to determine if user is logged in
|
||||||
|
console.log('USER', account_type)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
//Removing Data stored at localStorage after session expires
|
//Removing Data stored at localStorage after session expires
|
||||||
const expireSession = () => {
|
const expireSession = () => {
|
||||||
@@ -166,6 +166,9 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if(!account_type || !isLogin.status || account_type == 'FAMILY'){ // DO NOT CALL THIS, IF USER ACCOUNT TYPE IS FAMILY
|
||||||
|
return
|
||||||
|
}
|
||||||
const getMyJobList = async () => {
|
const getMyJobList = async () => {
|
||||||
dispatch(updateUserJobList({ loading: true, data: [] }));
|
dispatch(updateUserJobList({ loading: true, data: [] }));
|
||||||
try {
|
try {
|
||||||
@@ -180,7 +183,7 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
getMyJobList();
|
getMyJobList();
|
||||||
}, [jobListTable]);
|
}, [jobListTable, isLogin.status]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const getMyWalletList = async () => {
|
const getMyWalletList = async () => {
|
||||||
@@ -200,6 +203,9 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
|||||||
}, [walletTable]);
|
}, [walletTable]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if(!account_type || !isLogin.status || account_type == 'FAMILY'){ // DO NOT CALL THIS, IF USER ACCOUNT TYPE IS FAMILY
|
||||||
|
return
|
||||||
|
}
|
||||||
// Getting market data
|
// Getting market data
|
||||||
const getMarketActiveJobList = async () => {
|
const getMarketActiveJobList = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -210,22 +216,25 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
getMarketActiveJobList();
|
getMarketActiveJobList();
|
||||||
}, [apiCall, dispatch, jobListTable]);
|
}, [apiCall, dispatch, jobListTable, isLogin.status]);
|
||||||
|
|
||||||
//FUNCTION TO GET COMMON HEAD DATA
|
//FUNCTION TO GET COMMON HEAD DATA
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
apiCall
|
if(!account_type || !isLogin.status || account_type == 'FAMILY'){ // DO NOT CALL THIS, IF USER ACCOUNT TYPE IS FAMILY
|
||||||
.getHeroJBanners()
|
return
|
||||||
.then((res) => {
|
}
|
||||||
if (res.data.internal_return < 0) {
|
apiCall
|
||||||
return;
|
.getHeroJBanners()
|
||||||
}
|
.then((res) => {
|
||||||
dispatch(commonHeadBanner(res.data));
|
if (res.data.internal_return < 0) {
|
||||||
})
|
return;
|
||||||
.catch((error) => {
|
}
|
||||||
console.log("ERROR ", error);
|
dispatch(commonHeadBanner(res.data));
|
||||||
});
|
})
|
||||||
}, []);
|
.catch((error) => {
|
||||||
|
console.log("ERROR ", error);
|
||||||
|
});
|
||||||
|
}, [isLogin.status]);
|
||||||
|
|
||||||
//FUNCTION TO GET COMMON HEAD DATA
|
//FUNCTION TO GET COMMON HEAD DATA
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user