From e49c7eb77924bbaeb07c11f372bc2c5cf3c539da Mon Sep 17 00:00:00 2001 From: Ebube Date: Tue, 9 May 2023 14:59:25 +0100 Subject: [PATCH] Almost complete --- src/components/FamilyAcc/FamilyTable.jsx | 99 +++++++++++--------- src/components/FamilyAcc/index.jsx | 53 +++++++++-- src/components/Helpers/CustomPopUp/index.jsx | 7 +- src/services/SiteService.js | 4 + 4 files changed, 106 insertions(+), 57 deletions(-) diff --git a/src/components/FamilyAcc/FamilyTable.jsx b/src/components/FamilyAcc/FamilyTable.jsx index e78497d..2d88b6b 100644 --- a/src/components/FamilyAcc/FamilyTable.jsx +++ b/src/components/FamilyAcc/FamilyTable.jsx @@ -1,8 +1,9 @@ import React, { useState } from "react"; import dataImage1 from "../../assets/images/data-table-user-1.png"; -export default function FamilyTable({ className }) { +export default function FamilyTable({ className, familyList }) { const filterCategories = ["All Categories", "Explore", "Featured"]; + console.log(familyList) const [selectedCategory, setCategory] = useState(filterCategories[0]); return (
- + - - - - + {familyList?.length > 0 && + familyList?.map(({firstname, lastname, age}, idx) => ( + + + + - - + + + ))} + {familyList?.length <= 0 && ( +
+ Nothing to see here +
+ )}
Name Last Login No of Tasks Status
-
-
- data -
-
-

- Firstname Lastname (age) -

- - Added 10-10-2029 - -
-
-
-
- - 10-10-2019 - -
-
-
- - 100 - -
-
+
+
+ data +
+
+

+ {`${firstname} ${lastname} (${age})`} +

+ + Added 10-10-2029 + +
+
+
+
+ + 10-10-2019 + +
+
+
+ + 100 + +
+
- -
+ +
diff --git a/src/components/FamilyAcc/index.jsx b/src/components/FamilyAcc/index.jsx index 5d3e384..fb7ae77 100644 --- a/src/components/FamilyAcc/index.jsx +++ b/src/components/FamilyAcc/index.jsx @@ -1,4 +1,4 @@ -import React, { useId, useMemo, useState } from "react"; +import React, { useCallback, useEffect, useId, useMemo, useState } from "react"; import CustomPopUp from "../Helpers/CustomPopUp"; import InputCom from "../Helpers/Inputs/InputCom"; import Layout from "../Partials/Layout"; @@ -8,6 +8,8 @@ import SiteService from "../../services/SiteService"; export default function FamilyAcc() { const [selectTab, setValue] = useState("today"); const [selectedAge, setSelectedAge] = useState(undefined); + const [familyList, setFamilyList] = useState([]); + const [isOpen, setIsOpen] = useState(false); const [loader, setLoader] = useState(false); const [msgErr, setMsgErr] = useState(""); const [formData, setFormData] = useState({ @@ -41,12 +43,13 @@ export default function FamilyAcc() { setFormData({ ...formData, [name]: value }); }; + // Add member const addMember = async () => { - let { first_name, last_name } = formData; + const { first_name, last_name } = formData; setLoader(true); try { if (first_name !== "" && last_name !== "") { - const reqData = { + let reqData = { member_id: localStorage.getItem("member_id"), uid: localStorage.getItem("uid"), session_id: localStorage.getItem("session_token"), @@ -54,11 +57,15 @@ export default function FamilyAcc() { lastname: last_name, age: selectedAge, }; - const res = await apiCall.addFamily(reqData); + console.log(reqData); + let res = await apiCall.addFamily(reqData); const { data } = res; - if (data.internal_return > 0 && data.status == "OK") { + if (data?.internal_return > 0 && data?.status == "OK") { setLoader(false); - console.log(data); + setIsOpen(false); + } else { + setLoader(false); + setMsgErr("Sorry, something went wrong"); } } else { setLoader(false); @@ -67,6 +74,7 @@ export default function FamilyAcc() { } catch (error) { setLoader(false); setMsgErr("An error occurred"); + throw new Error(error); } finally { setTimeout(() => { setMsgErr(null); @@ -74,6 +82,33 @@ export default function FamilyAcc() { } }; + useEffect(() => { + // member listing + const memberList = async () => { + try { + let reqData = { + member_id: localStorage.getItem("member_id"), + uid: localStorage.getItem("uid"), + sessionid: localStorage.getItem("session_token"), + limit: 20, + offset: 1, + action: 22010, + }; + + let res = await apiCall.familyListings(reqData); + const { data } = res; + if (data?.internal_return >= 0 && data?.status == "OK") { + let { result_list } = data; + setFamilyList(result_list); + } else return; + } catch (error) { + throw new Error(error); + } + }; + memberList(); + }, []); + console.log(familyList); + return ( {/**/} @@ -93,6 +128,8 @@ export default function FamilyAcc() { btn_class="text-purple" key={id} title="Add members" + isOpen={isOpen} + setIsOpen={setIsOpen} > - + @@ -187,7 +224,7 @@ const FamilyForm = ({ {msgErr && ( -
+
{msgErr}
)} diff --git a/src/components/Helpers/CustomPopUp/index.jsx b/src/components/Helpers/CustomPopUp/index.jsx index bcfdd04..24215ec 100644 --- a/src/components/Helpers/CustomPopUp/index.jsx +++ b/src/components/Helpers/CustomPopUp/index.jsx @@ -1,7 +1,6 @@ import React, { useState } from "react"; -const CustomPopUp = ({ name, btn_class, title, children }) => { - const [isOpen, setIsOpen] = useState(false); +const CustomPopUp = ({ name, btn_class, title, children, isOpen, setIsOpen }) => { const handleOpen = () => { setIsOpen(true); @@ -12,7 +11,7 @@ const CustomPopUp = ({ name, btn_class, title, children }) => { }; return ( - <> +
@@ -30,7 +29,7 @@ const CustomPopUp = ({ name, btn_class, title, children }) => {
)} - + ); }; diff --git a/src/services/SiteService.js b/src/services/SiteService.js index 0f19ea1..a8e832b 100644 --- a/src/services/SiteService.js +++ b/src/services/SiteService.js @@ -32,6 +32,10 @@ class SiteService { return this.postAuxEnd('/familyadd', reqData) } + familyListings(reqData) { + return this.postAuxEnd('/familylist', reqData) + } + //---------------------------------------- ----- //---------------------------------------- ----- // Unified call below