From 11342c32c633369f6b4c934e3b3bc7e971bdfe36 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Fri, 27 Oct 2023 19:22:54 +0100 Subject: [PATCH] Family start transfer API added --- .../FamilyAcc/Tabs/FamilyWallet.jsx | 7 ++-- .../Tabs/wallet/FamilyAddFundPopout.jsx | 35 ++++++++++++++++--- .../FamilyAcc/Tabs/wallet/Wallet.jsx | 3 +- src/services/UsersService.js | 11 ++++++ 4 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/components/FamilyAcc/Tabs/FamilyWallet.jsx b/src/components/FamilyAcc/Tabs/FamilyWallet.jsx index c430b16..f2f51c2 100644 --- a/src/components/FamilyAcc/Tabs/FamilyWallet.jsx +++ b/src/components/FamilyAcc/Tabs/FamilyWallet.jsx @@ -11,13 +11,16 @@ function FamilyWallet({familyData}) { let [familyWallet, setFamilyWallet] = useState({loading:true, data: []}) + let [familyWalletReload, setFamilyWalletReload] = useState(false) // STATE TO DETERMINE WHEN TO RELOAD FAMILY WALLET TAB/PAGE + useEffect(()=>{ + setFamilyWallet({loading:true, data: []}) apiUrl.getFamilyWallet({family_uid:familyData?.uid}).then(res => { setFamilyWallet({loading:false, data: res?.data?.result_list || []}) }).catch(error => { setFamilyWallet({loading:false, data: []}) }) - },[]) + },[familyWalletReload]) return (
@@ -29,7 +32,7 @@ function FamilyWallet({familyData}) { familyWallet?.data?.length > 0 ?
{familyWallet?.data?.map((wallet, index)=>( - + ))}
: diff --git a/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx b/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx index 3a7fe21..88dc39e 100644 --- a/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx +++ b/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx @@ -1,10 +1,12 @@ -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import ModalCom from '../../../Helpers/ModalCom' import InputCom from '../../../Helpers/Inputs/InputCom' import { Form, Formik } from "formik"; import * as Yup from "yup"; +import usersService from '../../../../services/UsersService'; import LoadingSpinner from '../../../Spinners/LoadingSpinner'; +import { PriceFormatter } from '../../../Helpers/PriceFormatter'; const validationSchema = Yup.object().shape({ // amount: Yup.string() @@ -24,12 +26,17 @@ const validationSchema = Yup.object().shape({ function FamilyAddFundPopout({action, situation, wallet, familyData}) { + const apiUrl = new usersService() + + const [startTransfer, setStartTransfer] = useState({loading:true, data: {}}) + const [requestStatus, setRequestStatus] = useState({loading:false, status:false, message:''}) + // initial values for formik let initialValues = { amount: '', - from : '', + from : startTransfer?.data?.origing_current_balance*0.01 || 'N/A', to: `${familyData.firstname} ${familyData.lastname}`, comment: '' }; @@ -38,11 +45,27 @@ function FamilyAddFundPopout({action, situation, wallet, familyData}) { setRequestStatus({loading:true, status:false, message:''}) setTimeout(()=>{ setRequestStatus({loading:false, status:false, message:''}) + action() // TO CLOSE THE MODAL }, 3000) // let reqData = {...values} console.log(values) } + // LOAD FAMILY START TRANSFER + useEffect(()=>{ + let reqData = { + family_uid: familyData.uid, + wallet_uid: wallet.wallet_uid, + action: 22013 + } + apiUrl.familyTransferStart(reqData).then(response => { + setStartTransfer({loading:false, data:response?.data }) + // console.log('reqData', response.data) + }).catch(err => { + setStartTransfer({loading:false, data: {}}) + }) + },[]) + return (
@@ -77,6 +100,9 @@ function FamilyAddFundPopout({action, situation, wallet, familyData}) {
+ {startTransfer.loading && } + + { !startTransfer.loading && @@ -128,7 +154,7 @@ function FamilyAddFundPopout({action, situation, wallet, familyData}) { parentClass="flex items-center gap-1 w-full" labelClass="flex-[0.2] mb-0" inputClass={`flex-[0.8] input-curve lg border border-[#dce4e9]`} - fieldClass="px-2" + fieldClass="px-2 text-right" value={props.values.to} disable={true} /> @@ -208,6 +234,7 @@ function FamilyAddFundPopout({action, situation, wallet, familyData}) { )} + }
diff --git a/src/components/FamilyAcc/Tabs/wallet/Wallet.jsx b/src/components/FamilyAcc/Tabs/wallet/Wallet.jsx index e34c54d..464e083 100644 --- a/src/components/FamilyAcc/Tabs/wallet/Wallet.jsx +++ b/src/components/FamilyAcc/Tabs/wallet/Wallet.jsx @@ -3,7 +3,7 @@ import { localImgLoad } from '../../../../lib' import { PriceFormatter } from '../../../Helpers/PriceFormatter' import FamilyAddFundPopout from './FamilyAddFundPopout' -function Wallet({wallet, familyData}) { +function Wallet({wallet, familyData, setFamilyWalletReload}) { const [addFundPopout, setAddFundPopout] = useState({ show: false, data: {} }) return (
{ setAddFundPopout({ show: false, data: {} }); + setFamilyWalletReload(prev => !prev) // TO RELOAD FAMILY WALLET // DETERMINES WHEN TO RELOAD FAMILY WALLET TAB/PAGE }} situation={addFundPopout.show} wallet={wallet} diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 4fa3c3c..2a02dfd 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -1089,6 +1089,17 @@ class usersService { }; return this.postAuxEnd("/familywallet", postData); } + + // FUNCTION TO START FAMILY TRANSFER + familyTransferStart(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + ...reqData, + }; + return this.postAuxEnd("/familytransferstart", postData); + } /* - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username) -- 2.34.1