Compare commits

...

2 Commits

Author SHA1 Message Date
victorAnumudu a674688dce family current task added 2023-07-05 20:52:34 +01:00
ameye ef339b163d Merge branch 'cookie-fixing' of WrenchBoard/Users-Wrench into master 2023-07-05 16:54:23 +00:00
5 changed files with 45 additions and 16 deletions
+14 -9
View File
@@ -1,11 +1,15 @@
import { useState } from "react"; import { useState } from "react";
import { Link } from "react-router-dom"; import { Link, useLocation } from "react-router-dom";
import { toast } from "react-toastify"; import { toast } from "react-toastify";
import localImgLoad from "../../lib/localImgLoad"; import localImgLoad from "../../lib/localImgLoad";
import CountDown from "../Helpers/CountDown"; import CountDown from "../Helpers/CountDown";
import Icons from "../Helpers/Icons"; import Icons from "../Helpers/Icons";
export default function FamilyActiveJobsCard({ datas, hidden = false }) { export default function FamilyActiveJobsCard({ datas, hidden = false }) {
let { pathname } = useLocation();
console.log('TESTING11111',datas)
const [imageUrl, setImageUrl] = useState(""); const [imageUrl, setImageUrl] = useState("");
const [addFavorite, setValue] = useState(false); const [addFavorite, setValue] = useState(false);
const [options, setOption] = useState(false); const [options, setOption] = useState(false);
@@ -19,7 +23,6 @@ export default function FamilyActiveJobsCard({ datas, hidden = false }) {
} }
}; };
return ( return (
<div className="card-style-one flex flex-col justify-between w-full h-[387px] bg-white dark:bg-dark-white p-3 pb rounded-2xl"> <div className="card-style-one flex flex-col justify-between w-full h-[387px] bg-white dark:bg-dark-white p-3 pb rounded-2xl">
<div className="content"> <div className="content">
@@ -30,8 +33,8 @@ export default function FamilyActiveJobsCard({ datas, hidden = false }) {
className="thumbnail w-full h-full rounded-xl overflow-hidden px-4 pt-4" className="thumbnail w-full h-full rounded-xl overflow-hidden px-4 pt-4"
style={{ style={{
background: `url(${localImgLoad( background: `url(${localImgLoad(
`images/${datas.thumbnil}` `images/taskbanners/${datas.banner}`
)}) 0% 0% / cover no-repeat`, )}) center / contain no-repeat`,
}} }}
> >
{/* <div className="product-options flex justify-between relative">*/} {/* <div className="product-options flex justify-between relative">*/}
@@ -75,7 +78,8 @@ export default function FamilyActiveJobsCard({ datas, hidden = false }) {
<div className="details"> <div className="details">
{/* product title */} {/* product title */}
<Link <Link
to="/active-bids" to="/manage-active-job"
state={{ ...datas, pathname }}
className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1" className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1"
> >
{datas.title} {datas.title}
@@ -87,7 +91,7 @@ export default function FamilyActiveJobsCard({ datas, hidden = false }) {
Task Code Task Code
</p> </p>
<p className="text-base font-bold tracking-wide text-dark-gray dark:text-white"> <p className="text-base font-bold tracking-wide text-dark-gray dark:text-white">
{datas.price} {datas.contract}
</p> </p>
</div> </div>
<div className="w-[1px] h-full bg-[#E3E4FE] dark:bg-[#a7a9b533] "></div> <div className="w-[1px] h-full bg-[#E3E4FE] dark:bg-[#a7a9b533] "></div>
@@ -96,15 +100,16 @@ export default function FamilyActiveJobsCard({ datas, hidden = false }) {
Remaining Time Remaining Time
</p> </p>
<p className="text-base font-bold tracking-wide text-dark-gray dark:text-white"> <p className="text-base font-bold tracking-wide text-dark-gray dark:text-white">
<CountDown lastDate={datas.remaing} /> <CountDown lastDate={datas.delivery_date} />
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div className="card-buttons flex items-center space-x-2"> <div className="card-buttons flex justify-end items-center space-x-2">
<Link <Link
to="/active-bids" to="/manage-active-job"
state={{ ...datas, pathname }}
className="btn-shine w-[98px] h-[33px] text-white rounded-full text-sm bg-pink flex justify-center items-center" className="btn-shine w-[98px] h-[33px] text-white rounded-full text-sm bg-pink flex justify-center items-center"
> >
View View
+4 -1
View File
@@ -9,13 +9,14 @@ export default function FamilyActiveLSlde({ className, trending }) {
arrows: false, arrows: false,
slidesToShow: 3, slidesToShow: 3,
slidesToScroll: 3, slidesToScroll: 3,
infinite: true, infinite: trending?.length > 3,
responsive: [ responsive: [
{ {
breakpoint: 1025, breakpoint: 1025,
settings: { settings: {
slidesToShow: 3, slidesToShow: 3,
slidesToScroll: 3, slidesToScroll: 3,
infinite: trending?.length > 3,
}, },
}, },
{ {
@@ -23,6 +24,7 @@ export default function FamilyActiveLSlde({ className, trending }) {
settings: { settings: {
slidesToShow: 2, slidesToShow: 2,
slidesToScroll: 2, slidesToScroll: 2,
infinite: trending?.length > 2,
}, },
}, },
{ {
@@ -30,6 +32,7 @@ export default function FamilyActiveLSlde({ className, trending }) {
settings: { settings: {
slidesToShow: 1, slidesToShow: 1,
slidesToScroll: 1, slidesToScroll: 1,
infinite: trending?.length > 1,
}, },
}, },
], ],
+6 -2
View File
@@ -6,16 +6,20 @@ import FamilyActiveLSlde from "./FamilyActiveLSlde";
import ParentWaiting from "../MyPendingJobs/ParentWaiting"; import ParentWaiting from "../MyPendingJobs/ParentWaiting";
import MyOffersFamilyTable from "../MyTasks/MyOffersFamilyTable"; import MyOffersFamilyTable from "../MyTasks/MyOffersFamilyTable";
export default function FamilyDash({familyOffers}) { export default function FamilyDash({familyOffers, MyActiveJobList}) {
console.log("PROPS IN FAMILY DASH->", familyOffers); console.log("PROPS IN FAMILY DASH->", familyOffers);
const trending = datas.datas; const trending = MyActiveJobList;
return ( return (
<div> <div>
<div className="home-page-wrapper"> <div className="home-page-wrapper">
{/* <CommonHead commonHeadData={props.commonHeadData} /> */} {/* <CommonHead commonHeadData={props.commonHeadData} /> */}
<MyOffersFamilyTable familyOffers={familyOffers} className="mb-10" /> <MyOffersFamilyTable familyOffers={familyOffers} className="mb-10" />
{trending && trending.length > 0 &&
<FamilyActiveLSlde trending={trending} className="mb-10" /> <FamilyActiveLSlde trending={trending} className="mb-10" />
}
{/*<TopSellerTopBuyerSliderSection className="mb-10" />*/} {/*<TopSellerTopBuyerSliderSection className="mb-10" />*/}
<ParentWaiting className="mb-10" /> <ParentWaiting className="mb-10" />
</div> </div>
+19 -3
View File
@@ -8,15 +8,26 @@ import FullAccountDash from "./FullAccountDash";
export default function Home(props) { export default function Home(props) {
console.log("PROPS IN HOME->", props); console.log("PROPS IN HOME->", props);
const userApi = new usersService();
const { commonHeadBanner } = useSelector((state) => state.commonHeadBanner);
let [nextDueTask, setNextDueTask] = useState({}); let [nextDueTask, setNextDueTask] = useState({});
const [MyOffersList, setMyOffersList] = useState([]); const [MyOffersList, setMyOffersList] = useState([]);
const userApi = new usersService();
const { userDetails } = useSelector((state) => state?.userDetails); const { userDetails } = useSelector((state) => state?.userDetails);
const { commonHeadBanner } = useSelector((state) => state.commonHeadBanner); const [MyActiveJobList, setMyActiveJobList] = useState([]); // STATE TO HOLD ACTIVE/CURRENT TASKS
const getMyActiveJobList = async () => { // FUNCTION TO POPULATE ACTIVE/CURRENT TASK LIST
try {
const res = await userApi.getMyActiveTaskList();
setMyActiveJobList(res?.data?.result_list);
} catch (error) {
setMyActiveJobList([]);
console.log("Error getting tasks");
}
};
// FUNCTION TO GET DASH DATA TO DETERMINE CURRENT TASK DUE TIME // FUNCTION TO GET DASH DATA TO DETERMINE CURRENT TASK DUE TIME
const getHomeDate = () => { const getHomeDate = () => {
@@ -50,6 +61,10 @@ export default function Home(props) {
fetchData(); fetchData();
}, []); }, []);
useEffect(() => {
getMyActiveJobList();
}, []);
return ( return (
<Layout> <Layout>
<div className="home-page-wrapper"> <div className="home-page-wrapper">
@@ -58,6 +73,7 @@ export default function Home(props) {
account={userDetails} account={userDetails}
commonHeadData={props.bannerList} commonHeadData={props.bannerList}
familyOffers={MyOffersList} familyOffers={MyOffersList}
MyActiveJobList={MyActiveJobList}
/> />
) : userDetails && userDetails?.account_type == "FULL" ? ( ) : userDetails && userDetails?.account_type == "FULL" ? (
<FullAccountDash <FullAccountDash
+2 -1
View File
@@ -5,6 +5,7 @@ import { handlePagingFunc } from "../Pagination/HandlePagination";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import { useNavigate, useLocation } from "react-router-dom"; import { useNavigate, useLocation } from "react-router-dom";
import { PriceFormatter } from "../Helpers/PriceFormatter"; import { PriceFormatter } from "../Helpers/PriceFormatter";
import localImgLoad from "../../lib/localImgLoad";
const noTasksBg = require("../../assets/images/no-task-background.jpg"); const noTasksBg = require("../../assets/images/no-task-background.jpg");
const noFamilyTasksBg = require("../../assets/images/family-no-task-background.jpg"); const noFamilyTasksBg = require("../../assets/images/family-no-task-background.jpg");
@@ -80,7 +81,7 @@ export default function MyJobTable({ className, ActiveJobList, Account }) {
<div className="flex space-x-2 items-center"> <div className="flex space-x-2 items-center">
<div className="w-full min-w-[60px] max-w-[60px] flex-[0.1] h-[60px] rounded-full overflow-hidden flex justify-center items-center"> <div className="w-full min-w-[60px] max-w-[60px] flex-[0.1] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img <img
src={dataImage1} src={localImgLoad(`images/taskbanners/${task?.banner}`)}
alt="data" alt="data"
className="w-full h-full" className="w-full h-full"
/> />