diff --git a/src/components/FamilyAcc/FamilySettings/Tabs/RelativeReminderPopout.jsx b/src/components/FamilyAcc/FamilySettings/Tabs/RelativeReminderPopout.jsx
new file mode 100644
index 0000000..814740b
--- /dev/null
+++ b/src/components/FamilyAcc/FamilySettings/Tabs/RelativeReminderPopout.jsx
@@ -0,0 +1,173 @@
+import React, { Suspense, useEffect, useState } from "react";
+import { useDispatch, useSelector } from "react-redux";
+import { useLocation, useOutletContext } from "react-router-dom";
+import usersService from "../../../../services/UsersService";
+import ModalCom from '../../../Helpers/ModalCom';
+import LoadingSpinner from "../../../Spinners/LoadingSpinner";
+import localImgLoad from '../../../../lib/localImgLoad'
+
+// import { tableReload } from "../../../store/TableReloads";
+// import { PriceFormatter } from "../../Helpers/PriceFormatter";
+
+
+const RelativeReminderPopout = ({
+ relativeSelected,
+ action,
+ situation,
+ familyList
+}) => {
+
+ const { walletDetails } = useSelector((state) => state?.walletDetails); // WALLET STORE
+
+ const {userDetails} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
+
+ const [relativeReminder, setRelativeReminder] = useState({loading:false, status:false, msg:''})
+
+ const apiCall = new usersService();
+
+ let { pathname, state } = useLocation();
+
+ const dispatch = useDispatch();
+
+ const cancelInvite = (family_uid) => { // FUNCTION TO EDIT RELATIVE KIDS
+ const reqData = {
+ relative_uid: relativeSelected.relative_uid,
+ reminder: 'PENDING_ACCOUNT'
+ }
+ }
+
+ const sendRelativeReminder = ()=>{ // FUNCTION TO SEND REMINDER
+ setRelativeReminder({loading:true, status:false, msg:''})
+ const reqData = {
+ relative_uid: relativeSelected.relative_uid,
+ reminder: 'PENDING_ACCOUNT'
+ }
+ apiCall.sendRelativeReminder(reqData).then(res => {
+ if(res?.data?.internal_return < 0){
+ setRelativeReminder({loading:false, status:false, msg:'failed to send'})
+ return
+ }
+ setRelativeReminder({loading:false, status:true, msg:'Reminder Sent'})
+ setTimeout(()=>{
+ action() // CLOSE MODAL
+ }, 3000)
+ }).catch((err)=>{
+ setRelativeReminder({loading:false, status:false, msg:'Network error'})
+ console.log(err)
+ }).finally(()=>{
+ setTimeout(()=>{
+ setRelativeReminder({loading:false, status:false, msg:''})
+ }, 3000)
+ })
+ }
+
+ return (
+ <>
+
+
+
+
+ {relativeSelected.firstname && relativeSelected.firstname} {relativeSelected.lastname && relativeSelected.lastname}
+
+
+
+
+
+
+
+
+
First name :
+ {/*
{'Dummy'}
*/}
+
+
+
Last name :
+ {/*
{'Dummy'}
*/}
+
+
+
Email :
+ {/*
{'Dummy'}
*/}
+
+
+
Family Type :
+ {/*
{'Dummy'}
*/}
+
+
+
+
+ <>
+ {relativeReminder.loading ?
+
+ :
+
+ }
+ >
+ <>
+ {relativeReminder.msg &&
+
{relativeReminder.msg}
+ }
+ >
+ <>
+ {/*
*/}
+
+ >
+
+
+ <>
+ {relativeReminder.msg &&
+
{relativeReminder.msg}
+ }
+ >
+
+
+
+
+
+
+ >
+ );
+};
+
+export default RelativeReminderPopout;
diff --git a/src/components/FamilyAcc/FamilySettings/Tabs/RelativeTable.jsx b/src/components/FamilyAcc/FamilySettings/Tabs/RelativeTable.jsx
index 29ced1a..e8ab268 100644
--- a/src/components/FamilyAcc/FamilySettings/Tabs/RelativeTable.jsx
+++ b/src/components/FamilyAcc/FamilySettings/Tabs/RelativeTable.jsx
@@ -3,6 +3,7 @@ import { handlePagingFunc } from '../../../Pagination/HandlePagination';
import PaginatedList from '../../../Pagination/PaginatedList';
import RelativePopout from './RelativePopout';
+import RelativeReminderPopout from './RelativeReminderPopout';
export default function RelativeTable({relativeList, familyList}) {
@@ -15,9 +16,15 @@ export default function RelativeTable({relativeList, familyList}) {
const [relativePopout, setRelativePopout] = useState({show:false, data:null})
+ const [reminderPopout, setReminderPopout] = useState({show:false, data:null})
+
const closePopout = () => {
setRelativePopout({show:false, data:null})
}
+
+ const closeReminderPopout = () => {
+ setReminderPopout({show:false, data:null})
+ }
const handlePagination = (e) => {
handlePagingFunc(e, setCurrentPage);
@@ -56,9 +63,21 @@ export default function RelativeTable({relativeList, familyList}) {
{/*
Family Type */}
{value.family_type && value.family_type.toUpperCase()}
+ {value.status_action ?
+
+
+ |
+ :
{value.status && value.status}
|
+ }
{value.kid_count && value.kid_count}
|
@@ -120,6 +139,16 @@ export default function RelativeTable({relativeList, familyList}) {
familyList={familyList}
/>
}
+
+ {reminderPopout.show &&
+
+ }
+
>
);
};
diff --git a/src/lib/apiConst.js b/src/lib/apiConst.js
index f8c0ff2..bb779c0 100644
--- a/src/lib/apiConst.js
+++ b/src/lib/apiConst.js
@@ -190,6 +190,10 @@ export const apiConst = {
WRENCHBOARD_INTEREST_STATS: 13048,
+ WRENCHBOARD_RELATIVE_SETTINGS: 22033,
+ WRENCHBOARD_RELATIVE_EDIT_KIDS: 22034,
+ WRENCHBOARD_RELATIVE_REMINDER: 22035,
+
WRENCHBOARD_GROUP_START: 12000,
WRENCHBOARD_GROUP_CREATEGROUP: 12010,
WRENCHBOARD_GROUP_INVITEGROUP: 12015,
diff --git a/src/services/UsersService.js b/src/services/UsersService.js
index 45a9e27..007fd72 100644
--- a/src/services/UsersService.js
+++ b/src/services/UsersService.js
@@ -655,6 +655,39 @@ class usersService {
return this.postAuxEnd("/familylist", postData);
}
+ getRelativeSettings(reqData) {
+ var postData = {
+ uid: localStorage.getItem("uid"),
+ member_id: localStorage.getItem("member_id"),
+ sessionid: localStorage.getItem("session_token"),
+ action: apiConst.WRENCHBOARD_RELATIVE_SETTINGS,
+ ...reqData
+ };
+ return this.postAuxEnd("/relativesettings", postData);
+ }
+
+ sendRelativeReminder(reqData) {
+ var postData = {
+ uid: localStorage.getItem("uid"),
+ member_id: localStorage.getItem("member_id"),
+ sessionid: localStorage.getItem("session_token"),
+ action: apiConst.WRENCHBOARD_RELATIVE_REMINDER,
+ ...reqData
+ };
+ return this.postAuxEnd("/relativereminder", postData);
+ }
+
+ getRelativeEditKids(reqData) {
+ var postData = {
+ uid: localStorage.getItem("uid"),
+ member_id: localStorage.getItem("member_id"),
+ sessionid: localStorage.getItem("session_token"),
+ action: apiConst.WRENCHBOARD_RELATIVE_EDIT_KIDS,
+ ...reqData
+ };
+ return this.postAuxEnd("/relativeeditkids", postData);
+ }
+
getFamilyAdd() {
var postData = {
uuid: localStorage.getItem("uid"),