diff --git a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx index 42360ee..a1f35f9 100644 --- a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx +++ b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx @@ -5,6 +5,8 @@ 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( ({ @@ -19,6 +21,8 @@ const AssignTaskPopout = React.memo( }) => { const apiCall = new usersService(); + const dispatch = useDispatch() + let [requestStatus, setRequestStatus] = useState({ loading: false, status: false, @@ -145,6 +149,7 @@ const AssignTaskPopout = React.memo( message: "action successful", }); 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: "" }); action(); // FUNCTION THAT CLOSES THE MODAL BOX diff --git a/src/components/History/JobsCompleted.jsx b/src/components/History/JobsCompleted.jsx new file mode 100644 index 0000000..1b7a9de --- /dev/null +++ b/src/components/History/JobsCompleted.jsx @@ -0,0 +1,106 @@ +import React, {useEffect, useState} from 'react' +import Image from '../../assets/images/taskbanners/default.jpg' + +import usersService from '../../services/UsersService'; +import { handlePagingFunc } from '../../components/Pagination/HandlePagination'; +import PaginatedList from '../../components/Pagination/PaginatedList'; + +import LoadingSpinner from '../Spinners/LoadingSpinner'; + +import { AmountTo2DP } from '../Helpers/PriceFormatter'; + +function JobsCompleted() { + + const apiCall = new usersService() + + let [familyRewardHistory, setFamilyRewardHistory] = useState({ // FOR PURCHASE HISTORY + loading: true, + data: [], + error: false + }) + + const [currentPage, setCurrentPage] = useState(0); + const indexOfFirstItem = Number(currentPage); + const indexOfLastItem = Number(indexOfFirstItem)+Number(process.env.REACT_APP_ITEM_PER_PAGE); + const currentReward = familyRewardHistory?.data?.slice(indexOfFirstItem, indexOfLastItem); + + const handlePagination = (e) => { + handlePagingFunc(e,setCurrentPage) + } + + + //FUNCTION TO GET FAMILY REWARD HISTORY + const getJobCompletedHistory = ()=>{ + // apiCall.getFamilyRewardHx().then((res)=>{ + // if(res.data.internal_return < 0){ // success but no data + // setFamilyRewardHistory(prev => ({...prev, loading: false})) + // return + // } + // setFamilyRewardHistory(prev => ({...prev, loading: false, data: res.data.result_list})) + // }).catch((error)=>{ + // setFamilyRewardHistory(prev => ({...prev, loading: false, error: true})) + // }) + setTimeout(()=>{ + setFamilyRewardHistory(prev => ({...prev, loading: false, error:true})) + },3000) + } + + useEffect(()=>{ + getJobCompletedHistory() + }, []) + + return ( +
+ {familyRewardHistory.loading ? + + : familyRewardHistory.data.length ? + + + + + + + + + + + {currentReward.map((item, index) => { + let date = new Date(item.added).toLocaleDateString() + return ( + + + + + + + ) + } + )} + +
AmountDateConfirmation
+
+ Reward Logo +
+

Reward to {item.rec_firstname} {item.rec_lastname}

+

{item.description}

+
+
+
{AmountTo2DP(item.amount*0.01)} {item.currency}{date}{item.confirmation}
+ :familyRewardHistory.error ? +
+ Opps! an error occurred. Please try again! +
+ : +
+ No Completed Job History Found! +
+ } + + {/* PAGINATION BUTTON */} + = familyRewardHistory?.data?.length ? true : false} data={familyRewardHistory?.data} start={indexOfFirstItem} stop={indexOfLastItem} /> + {/* END OF PAGINATION BUTTON */} +
+ ) +} + +export default JobsCompleted \ No newline at end of file diff --git a/src/components/History/index.jsx b/src/components/History/index.jsx index 3c66062..c29adb2 100644 --- a/src/components/History/index.jsx +++ b/src/components/History/index.jsx @@ -11,6 +11,7 @@ import PurchasesTable from "../MyWallet/WalletComponent/PurchasesTable"; import RecentActivityTable from "../MyWallet/WalletComponent/RecentActivityTable"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import RewardsTable from "./RewardsTable"; +import JobsCompleted from "./JobsCompleted"; export default function History() { @@ -249,6 +250,15 @@ export default function History() { > Rewards + {/* END OF switch button */}
@@ -286,6 +296,14 @@ export default function History() {
} {/* END OF REWARD SECTION */} + + {/* JOBS COMPLETED SECTION */} + {tab == 'jobs_completed' && +
+ +
+ } + {/* END OF JOBS COMPLETED SECTION */} {/**/}