From 4f675b30ef0c341b395d4034246eda61473f33bc Mon Sep 17 00:00:00 2001 From: Ebube Date: Mon, 11 Mar 2024 18:15:31 +0100 Subject: [PATCH] Added assign popup dropdown, fixed the right api for my task page --- .../FamilyPopout/AssignTaskPopout.jsx | 67 ++++++++++++++----- src/components/FamilyAcc/FamilyTableNew.jsx | 12 +++- .../FamilyAcc/Tabs/FamilyNewPending.jsx | 2 +- .../FamilyAcc/Tabs/FamilyNewTasks.jsx | 31 ++++----- src/components/FamilyAcc/index.jsx | 3 +- src/components/FamilyPopup/SuggestTask.jsx | 15 +++-- 6 files changed, 89 insertions(+), 41 deletions(-) diff --git a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx index 645f03a..623f3b0 100644 --- a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx +++ b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx @@ -1,12 +1,13 @@ import React, { useState } from "react"; +import { useDispatch } from "react-redux"; +import { useLocation } from "react-router-dom"; import usersService from "../../../services/UsersService"; +import { tableReload } from "../../../store/TableReloads"; import ModalCom from "../../Helpers/ModalCom"; import { PriceFormatter } from "../../Helpers/PriceFormatter"; import LoadingSpinner from "../../Spinners/LoadingSpinner"; import Detail from "../../jobPopout/popoutcomponent/Detail"; import { NewTasks } from "./forms"; -import { tableReload } from "../../../store/TableReloads"; -import { useDispatch } from "react-redux"; const AssignTaskPopout = React.memo( ({ @@ -17,11 +18,27 @@ const AssignTaskPopout = React.memo( familyTask, activeTask, setActiveTask, - setUpdatePage + setUpdatePage, + assignTaskChecker, }) => { const apiCall = new usersService(); + let { pathname, state } = useLocation(); - const dispatch = useDispatch() + const [selectedFamilyUid, setSelectedFamilyUid] = useState(null); + + const handleFamChange = (event) => { + setSelectedFamilyUid(event.target.value); + }; + + const dispatch = useDispatch(); + + const getFamilySession = JSON.parse(sessionStorage.getItem("family_list")); + + const familyList = getFamilySession?.map((member) => ( + + )); let [requestStatus, setRequestStatus] = useState({ loading: false, @@ -73,7 +90,9 @@ const AssignTaskPopout = React.memo( // API PAYLOADS job_id: activeTask.data?.job_id, job_uid: activeTask.data?.job_uid, - family_uid: familyDetailsData?.uid || details?.family_uid, + family_uid: selectedFamilyUid + ? selectedFamilyUid + : familyDetailsData?.uid || details?.family_uid, job_description: activeTask.data?.description, assign_mode: 110011, }; @@ -94,11 +113,11 @@ const AssignTaskPopout = React.memo( const requiredFields = { banner, // category, - currency:country, + currency: country, description, - 'job detail':job_detail, + "job detail": job_detail, price, - timeline:timeline_days, + timeline: timeline_days, title, }; @@ -108,7 +127,9 @@ const AssignTaskPopout = React.memo( setRequestStatus({ loading: false, status: false, - message: `${field[0].toUpperCase()+field.slice(1).toLowerCase()} is empty`, + message: `${ + field[0].toUpperCase() + field.slice(1).toLowerCase() + } is empty`, }); return setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); @@ -148,7 +169,7 @@ const AssignTaskPopout = React.memo( status: true, message: "action successful", }); - setUpdatePage(prev => !prev) // Updates family task page by calling the useeffect hook + setUpdatePage((prev) => !prev); // Updates family task page by calling the useeffect hook dispatch(tableReload({ type: "WALLETTABLE" })); // RELOADS USER WALLET setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); @@ -169,15 +190,29 @@ const AssignTaskPopout = React.memo( return ( <> - +
-

+

Assign task to{" "} - {familyDetailsData?.firstname || details?.firstName} + {pathname === "/acc-family/activities" ? ( +
+ +
+ ) : ( + <>{familyDetailsData?.firstname || details?.firstName} + )}

diff --git a/src/components/FamilyAcc/Tabs/FamilyNewPending.jsx b/src/components/FamilyAcc/Tabs/FamilyNewPending.jsx index 3ba01f3..a9b506b 100644 --- a/src/components/FamilyAcc/Tabs/FamilyNewPending.jsx +++ b/src/components/FamilyAcc/Tabs/FamilyNewPending.jsx @@ -25,7 +25,7 @@ export default function FamilyPending({ familyData, image_link, loader }) { handlePagingFunc(e, setCurrentPage); }; - console.log(image_link) + console.log(image_link); return (
- familyData?.result_list?.filter( - (data) => data?.family_uid === accountDetails?.family_uid - ), - [familyData, accountDetails] + let filteredFamilyData = useMemo( + () => familyData?.filter((data) => data.family_uid !== ""), + [familyData] ); const [currentPage, setCurrentPage] = useState(0); const indexOfFirstItem = Number(currentPage); const indexOfLastItem = Number(indexOfFirstItem) + Number(process.env.REACT_APP_ITEM_PER_PAGE); - const currentTasks = familyData?.slice(indexOfFirstItem, indexOfLastItem); + const currentTasks = filteredFamilyData?.slice( + indexOfFirstItem, + indexOfLastItem + ); const handlePagination = (e) => handlePagingFunc(e, setCurrentPage); return (
{loader ? ( @@ -76,11 +76,9 @@ export default function FamilyNewTasks({ value?.currency_code, value?.currency ); - let image = `${ - familyData.session_image_server - }${localStorage.getItem("session_token")}/job/${ - value.job_uid - }`; + let image = `${image_link}${localStorage.getItem( + "session_token" + )}/job/${value.job_uid}`; return ( = - familyData?.result_list?.length + filteredFamilyData?.length ? true : false } - data={familyData?.result_list} + data={filteredFamilyData} start={indexOfFirstItem} stop={indexOfLastItem} /> diff --git a/src/components/FamilyAcc/index.jsx b/src/components/FamilyAcc/index.jsx index afb5b69..047a886 100644 --- a/src/components/FamilyAcc/index.jsx +++ b/src/components/FamilyAcc/index.jsx @@ -109,6 +109,7 @@ export default function FamilyAcc() { if (data?.internal_return >= 0 && data?.status === "OK") { const { result_list, session_image_server } = data; setFamilyList({ result_list, session_image_server }); + sessionStorage.setItem("family_list", JSON.stringify(result_list)) setLoader(false); } else { return; @@ -165,7 +166,7 @@ export default function FamilyAcc() {
- + diff --git a/src/components/FamilyPopup/SuggestTask.jsx b/src/components/FamilyPopup/SuggestTask.jsx index 04e48d6..a78937b 100644 --- a/src/components/FamilyPopup/SuggestTask.jsx +++ b/src/components/FamilyPopup/SuggestTask.jsx @@ -254,10 +254,17 @@ const SuggestTask = ({ details, onClose, situation, continuePopupData }) => { > {pathname === "/acc-family/activities" ? ( <> - {" "} - <> - Continue - + {submitTask.loading ? ( + "Sending..." + ) : submitTask.state === "success" ? ( + "Completed" + ) : submitTask.state === "bad" ? ( + "An Error Occurred" + ) : ( + <> + Continue + + )} ) : ( <> -- 2.34.1