diff --git a/src/components/Contexts/SocketIOContext.js b/src/components/Contexts/SocketIOContext.js index bf07241..6b13e81 100644 --- a/src/components/Contexts/SocketIOContext.js +++ b/src/components/Contexts/SocketIOContext.js @@ -65,6 +65,9 @@ export default function SocketIOContextProvider({children}) { if(message.action == "REFRESH_TASK" && message.audience == "PARENT"){ // for refreshing parent account when child accepts or rejects a job dispatch(tableReload({type:'PARENTFAMILYTASKLIST'})) // dispatches to update parent family task list on parent side } + if(message.action == "REFRESH_WALLET" && message.family_uid == user_uid && message.audience == "MEMBER"){ // for refreshing child wallet account when parent sends money to kid + dispatch(tableReload({type:'WALLETTABLE'})) // dispatches to update wallet balance on family side + } // console.log('DATA', data) }); }, [socket]); diff --git a/src/components/FamilyAcc/Tabs/FamilyWallet.jsx b/src/components/FamilyAcc/Tabs/FamilyWallet.jsx index f2f51c2..fc8aa09 100644 --- a/src/components/FamilyAcc/Tabs/FamilyWallet.jsx +++ b/src/components/FamilyAcc/Tabs/FamilyWallet.jsx @@ -17,6 +17,8 @@ function FamilyWallet({familyData}) { setFamilyWallet({loading:true, data: []}) apiUrl.getFamilyWallet({family_uid:familyData?.uid}).then(res => { setFamilyWallet({loading:false, data: res?.data?.result_list || []}) + console.log('familyData', familyData, res?.data?.result_list) + }).catch(error => { setFamilyWallet({loading:false, data: []}) }) diff --git a/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx b/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx index 5793e06..212b159 100644 --- a/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx +++ b/src/components/FamilyAcc/Tabs/wallet/FamilyAddFundPopout.jsx @@ -9,8 +9,9 @@ import usersService from "../../../../services/UsersService"; import LoadingSpinner from "../../../Spinners/LoadingSpinner"; import { PriceFormatter } from "../../../Helpers/PriceFormatter"; import { tableReload } from "../../../../store/TableReloads"; -import { useDispatch } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { apiConst } from "../../../../lib/apiConst"; +import { SocketValues } from "../../../Contexts/SocketIOContext"; const validationSchema = Yup.object().shape({ // amount: Yup.string() @@ -30,6 +31,11 @@ const validationSchema = Yup.object().shape({ }); function FamilyAddFundPopout({ action, situation, wallet, familyData }) { + + const {userDetails} = useSelector((state) => state?.userDetails); // Gets User Detail + + const { parentAssignJobToKid } = SocketValues() // socket emit event from FULL account + const dispatch = useDispatch(); const apiUrl = new usersService(); @@ -54,6 +60,7 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) { }; // FUNCTION TO PERFORM FAMILY TRANSFER const handleAddFund = (values) => { + setRequestStatus({ loading: true, status: false, message: "" }); let senderBal = startTransfer?.data?.origing_current_balance || ""; // SENDER'S ACCOUNT BALANCE @@ -132,6 +139,17 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) { status: true, message: "Transfer Successful", }); + + //SENDS MESSAGE TO SOCKET TO UPDATE CHILD ACCOUNT + // message, room + let socketMsg = { + "audience": "MEMBER", + "action": "REFRESH_WALLET", + "family_uid": reqData.family_uid, + } + let socketRoom = `FAMILY-${userDetails.uid}` + parentAssignJobToKid(socketMsg, socketRoom) //SENDS MESSAGE TO SOCKET TO UPDATE CHILD ACCOUNT + setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); dispatch(tableReload({ type: "WALLETTABLE" })); // UPDATES PARENT WALLET ACCOUNT @@ -170,13 +188,13 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) { return (
-
-

+
+

Add Fund