From 738eb1589ebbc5b2c9c4d6870439903ff5c514d7 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 31 Oct 2023 04:22:50 +0100 Subject: [PATCH] rewards tab added --- src/components/History/RewardsTable.jsx | 81 +++++++++++++++++++++++++ src/components/History/index.jsx | 50 +++++++++++++++ src/services/UsersService.js | 13 ++++ 3 files changed, 144 insertions(+) create mode 100644 src/components/History/RewardsTable.jsx diff --git a/src/components/History/RewardsTable.jsx b/src/components/History/RewardsTable.jsx new file mode 100644 index 0000000..7a65412 --- /dev/null +++ b/src/components/History/RewardsTable.jsx @@ -0,0 +1,81 @@ +import React, {useState} from 'react' +import Image from '../../assets/images/taskbanners/default.jpg' + +import { handlePagingFunc } from '../../components/Pagination/HandlePagination'; +import PaginatedList from '../../components/Pagination/PaginatedList'; + +import { AmountTo2DP } from '../Helpers/PriceFormatter'; + +function RewardsTable({reward}) { + + const [currentPage, setCurrentPage] = useState(0); + const indexOfFirstItem = Number(currentPage); + const indexOfLastItem = Number(indexOfFirstItem)+Number(process.env.REACT_APP_ITEM_PER_PAGE); + const currentReward = reward?.data?.slice(indexOfFirstItem, indexOfLastItem); + + const handlePagination = (e) => { + handlePagingFunc(e,setCurrentPage) + } + + return ( +
+ + + + + + + + + + {reward.data.length ? + ( + + {currentReward.map((item, index) => { + let date = new Date(item.added).toLocaleDateString() + return ( + + + + + + + ) + } + )} + + ) + : + reward.error ? + ( + + + + + + ) + : + + + + + + } +
TitleAmountDateConfirmation
+
+ Reward Logo +
+

Title Goes Here

+

Title Goes Here

+
+
+
{AmountTo2DP(item.amount*0.01)} {item.currency}{date}{item.confirmation}
Opps! an error occurred. Please try again!
No Rewards History Found!
+ + {/* PAGINATION BUTTON */} + = reward?.data?.length ? true : false} data={reward?.data} start={indexOfFirstItem} stop={indexOfLastItem} /> + {/* END OF PAGINATION BUTTON */} +
+ ) +} + +export default RewardsTable \ No newline at end of file diff --git a/src/components/History/index.jsx b/src/components/History/index.jsx index cb6a4a8..cb7aaf6 100644 --- a/src/components/History/index.jsx +++ b/src/components/History/index.jsx @@ -10,6 +10,7 @@ import usersService from "../../services/UsersService"; import PurchasesTable from "../MyWallet/WalletComponent/PurchasesTable"; import RecentActivityTable from "../MyWallet/WalletComponent/RecentActivityTable"; import LoadingSpinner from "../Spinners/LoadingSpinner"; +import RewardsTable from "./RewardsTable"; export default function History() { @@ -29,6 +30,12 @@ export default function History() { error: false }) + let [familyRewardHistory, setFamilyRewardHistory] = useState({ // FOR PURCHASE HISTORY + loading: true, + data: [], + error: false + }) + //FUNCTION TO GET PAYMENT HISTORY const getPaymentHistory = ()=>{ apiCall.getPaymentHx().then((res)=>{ @@ -56,11 +63,31 @@ export default function History() { }) } + //FUNCTION TO GET FAMILY REWARD HISTORY + const getFamilyRewardHistory = ()=>{ + 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})) + }) + } + useEffect(()=>{ getPaymentHistory() + }, []) + + useEffect(()=>{ getPurchaseHistory() }, []) + useEffect(()=>{ + getFamilyRewardHistory() + }, []) + return ( <> @@ -236,6 +263,15 @@ export default function History() { > Recent Activity + {/* END OF switch button */}
@@ -265,6 +301,20 @@ export default function History() {
} {/* END OF RECENT ACTIVITY SECTION */} + + {/* REWARD SECTION */} + {tab == 'reward' && +
+

Rewards

+ {/*

Activity Report

*/} + {paymentHistory.loading ? + + : + + } +
+ } + {/* END OF REWARD SECTION */} {/**/} diff --git a/src/services/UsersService.js b/src/services/UsersService.js index daa9e38..bb38a78 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -496,6 +496,19 @@ class usersService { return this.postAuxEnd("/purchasehx", postData); } + // API FUNCTION TO GET FAMILY REWARD HISTORY + getFamilyRewardHx() { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + offset: 1, + limit: 20, + action: 22011, + }; + return this.postAuxEnd("/familyrewardhx", postData); + } + // API FUNCTION TO GET PAYMENT HISTORY getPaymentHx() { var postData = {