import { memo, useMemo, useState } from "react"; import SuggestTask from "../../FamilyPopup/SuggestTask"; import { PaginatedList, handlePagingFunc } from "../../Pagination"; import LoadingSpinner from "../../Spinners/LoadingSpinner"; import AssignTaskPopout from "../FamilyPopout/AssignTaskPopout"; const FamilyWaitlist = memo( ({ familyData, className, accountDetails, loader }) => { const [popUp, setPopUp] = useState({ show: false, data: {} }); const [continueTaskPopup, setContinueTaskPopup] = useState({ show: false, data: {}, }); const filteredFamilyData = useMemo( () => familyData?.result_list?.filter( (data) => data?.family_uid === accountDetails?.family_uid ), [familyData, accountDetails] ); const [currentPage, setCurrentPage] = useState(0); const itemsPerPage = Number(process.env.REACT_APP_ITEM_PER_PAGE); const indexOfFirstItem = currentPage; const indexOfLastItem = currentPage + itemsPerPage; const currentTask = useMemo( () => filteredFamilyData?.slice(indexOfFirstItem, indexOfLastItem), [filteredFamilyData, indexOfFirstItem, indexOfLastItem] ); const handlePagination = (e) => handlePagingFunc(e, setCurrentPage); const openPopUp = (value) => { setPopUp({ show: true, data: { ...value } }); }; const closePopUp = () => { setPopUp({ show: false, data: {} }); }; const openContinueTaskPopup = (value) => { setContinueTaskPopup({ show: true, data: { ...value } }); }; const closeContinueTaskPopup = () => { setContinueTaskPopup({ show: false, data: {} }); }; return (
{loader ? (
) : ( <> {filteredFamilyData && (
{currentTask.map((value) => { const addedDate = value?.added.split(" ")[0]; const selectedImage = require(`../../../assets/images/family/${ value?.banner || "default.jpg" }`); return ( ); })}
task_img

{value.title}

{value.description}

{addedDate}

{value.status_text}

= filteredFamilyData?.length } data={filteredFamilyData} start={indexOfFirstItem} stop={indexOfLastItem} />
)} )} {popUp.show && ( )} {continueTaskPopup.show && ( )}
); } ); export default FamilyWaitlist;