Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a674688dce | |||
| ef339b163d |
@@ -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
|
||||||
|
|||||||
@@ -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,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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user