import * as React from "react"; import List from "@mui/material/List"; import ListItem from "@mui/material/ListItem"; import ListItemButton from "@mui/material/ListItemButton"; import ListItemIcon from "@mui/material/ListItemIcon"; import ListItemText from "@mui/material/ListItemText"; import Checkbox from "@mui/material/Checkbox"; import IconButton from "@mui/material/IconButton"; import CommentIcon from "@mui/icons-material/Comment"; import InfoIcon from "@mui/icons-material/Info"; import GroupAddIcon from "@mui/icons-material/GroupAdd"; import { executeEvent } from "../../utils/events"; import { Box, Typography } from "@mui/material"; import { Spacer } from "../../common/Spacer"; import { getGroupNames } from "./UserListOfInvites"; import { CustomLoader } from "../../common/CustomLoader"; import { getBaseApiReact, isMobile } from "../../App"; export const GroupInvites = ({ myAddress, setOpenAddGroup }) => { const [groupsWithJoinRequests, setGroupsWithJoinRequests] = React.useState( [] ); const [loading, setLoading] = React.useState(true); const getJoinRequests = async () => { try { setLoading(true); const response = await fetch( `${getBaseApiReact()}/groups/invites/${myAddress}/?limit=0` ); const data = await response.json(); const resMoreData = await getGroupNames(data); setGroupsWithJoinRequests(resMoreData); } catch (error) { } finally { setLoading(false); } }; React.useEffect(() => { if (myAddress) { getJoinRequests(); } }, [myAddress]); return ( Group Invites: {loading && groupsWithJoinRequests.length === 0 && ( )} {!loading && groupsWithJoinRequests.length === 0 && ( Nothing to display )} {groupsWithJoinRequests?.map((group) => { return ( { setOpenAddGroup(true); setTimeout(() => { executeEvent("openGroupInvitesRequest", {}); }, 300); }} disablePadding secondaryAction={ } > ); })} ); };