import React, { useMemo, useState } from "react"; import { useLocation, useNavigate } from "react-router-dom"; import localImgLoad from "../../../lib/localImgLoad"; import Icons from "../../Helpers/Icons"; import { PriceFormatter } from "../../Helpers/PriceFormatter"; import { handlePagingFunc } from "../../Pagination/HandlePagination"; import PaginatedList from "../../Pagination/PaginatedList"; import LoadingSpinner from "../../Spinners/LoadingSpinner"; export default function FamilyTasks({ familyData, className, accountDetails, }) { let navigate = useNavigate(); let { pathname } = useLocation(); // ... const filteredFamilyData = useMemo( () => familyData?.data?.result_list?.filter( (data) => data?.family_uid === accountDetails?.family_uid ), [familyData?.data, accountDetails] ); const [currentPage, setCurrentPage] = useState(0); const indexOfFirstItem = Number(currentPage); const indexOfLastItem = Number(indexOfFirstItem) + Number(process.env.REACT_APP_ITEM_PER_PAGE); const currentTask = familyData?.data?.result_list?.slice( indexOfFirstItem, indexOfLastItem ); const handlePagination = (e) => handlePagingFunc(e, setCurrentPage); return (
{familyData.loading ? (
) : ( <> {familyData?.data && familyData?.data?.result_list && (
{ <> {familyData?.data && familyData?.data?.result_list && familyData?.data.result_list.length > 0 ? ( currentTask.map((value, index) => { // find due date const dueDate = value?.delivery_date.split(" ")[0]; // the price let thePrice = PriceFormatter( value?.price * 0.01, value?.currency_code, value?.currency ); let image = `${familyData?.data?.session_image_server}${localStorage.getItem('session_token')}/job/${value.job_uid}` return ( ); }) ) : ( )} }
data

{value.title}

Price:{" "} {thePrice} Duration:{" "} {" "} {value.timeline_days} day(s) Due Date:{" "} {" "} {dueDate}
No Family Task
{/* PAGINATION BUTTON */} = familyData?.data?.result_list.length ? true : false } data={familyData?.data?.result_list} start={indexOfFirstItem} stop={indexOfLastItem} /> {/* END OF PAGINATION BUTTON */}
)} )}
); }