From 738eb1589ebbc5b2c9c4d6870439903ff5c514d7 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 31 Oct 2023 04:22:50 +0100 Subject: [PATCH 1/3] 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 = { From 1a1d59a8c760f372cdaeef11a7766a1024d388a4 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 31 Oct 2023 13:13:58 +0100 Subject: [PATCH 2/3] rewards API implemented --- src/components/History/RewardsTable.jsx | 53 ++++++++++++++++++++----- src/components/History/index.jsx | 31 ++------------- 2 files changed, 47 insertions(+), 37 deletions(-) diff --git a/src/components/History/RewardsTable.jsx b/src/components/History/RewardsTable.jsx index 7a65412..edc1b8b 100644 --- a/src/components/History/RewardsTable.jsx +++ b/src/components/History/RewardsTable.jsx @@ -1,34 +1,66 @@ -import React, {useState} from 'react' +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 RewardsTable({reward}) { +function RewardsTable() { + + 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 = reward?.data?.slice(indexOfFirstItem, indexOfLastItem); + const currentReward = familyRewardHistory?.data?.slice(indexOfFirstItem, indexOfLastItem); const handlePagination = (e) => { handlePagingFunc(e,setCurrentPage) } + + //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(()=>{ + getFamilyRewardHistory() + }, []) + return (
+ {familyRewardHistory.loading ? + + : - + - {reward.data.length ? + {familyRewardHistory.data.length ? ( {currentReward.map((item, index) => { @@ -37,10 +69,10 @@ function RewardsTable({reward}) { @@ -54,7 +86,7 @@ function RewardsTable({reward}) { ) : - reward.error ? + familyRewardHistory.error ? ( @@ -70,9 +102,10 @@ function RewardsTable({reward}) { }
TitleDescription Amount Date Confirmation
- Reward Logo + Reward Logo
-

Title Goes Here

-

Title Goes Here

+

Reward to {item.rec_firstname} {item.rec_lastname_}

+

{item.description}

+ } {/* PAGINATION BUTTON */} - = reward?.data?.length ? true : false} data={reward?.data} start={indexOfFirstItem} stop={indexOfLastItem} /> + = familyRewardHistory?.data?.length ? true : false} data={familyRewardHistory?.data} start={indexOfFirstItem} stop={indexOfLastItem} /> {/* END OF PAGINATION BUTTON */}
) diff --git a/src/components/History/index.jsx b/src/components/History/index.jsx index cb7aaf6..9d8726f 100644 --- a/src/components/History/index.jsx +++ b/src/components/History/index.jsx @@ -30,12 +30,6 @@ 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)=>{ @@ -63,19 +57,6 @@ 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() }, []) @@ -84,10 +65,6 @@ export default function History() { getPurchaseHistory() }, []) - useEffect(()=>{ - getFamilyRewardHistory() - }, []) - return ( <> @@ -307,11 +284,11 @@ export default function History() {

Rewards

{/*

Activity Report

*/} - {paymentHistory.loading ? + {/* {paymentHistory.loading ? - : - - } + : */} + {/* } */} +
} {/* END OF REWARD SECTION */} From a67d2b7bb4076245db241e0b5c7b6d6128c4f148 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 31 Oct 2023 13:16:33 +0100 Subject: [PATCH 3/3] reward tab clean up --- src/components/History/index.jsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/components/History/index.jsx b/src/components/History/index.jsx index 9d8726f..9bdc62d 100644 --- a/src/components/History/index.jsx +++ b/src/components/History/index.jsx @@ -284,10 +284,6 @@ export default function History() {

Rewards

{/*

Activity Report

*/} - {/* {paymentHistory.loading ? - - : */} - {/* } */}
}