import { LoadingButton } from "@mui/lab"; import { Box, Button, Input, MenuItem, Select, SelectChangeEvent, } from "@mui/material"; import React, { useState } from "react"; import { Spacer } from "../../common/Spacer"; import { Label } from "./AddGroup"; import { getFee } from "../../background"; export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => { const [value, setValue] = useState(""); const [expiryTime, setExpiryTime] = useState('259200'); const [isLoadingInvite, setIsLoadingInvite] = useState(false) const inviteMember = async () => { try { const fee = await getFee('GROUP_INVITE') await show({ message: "Would you like to perform a GROUP_INVITE transaction?" , publishFee: fee.fee + ' QORT' }) setIsLoadingInvite(true) if (!expiryTime || !value) return; new Promise((res, rej) => { chrome?.runtime?.sendMessage( { action: "inviteToGroup", payload: { groupId, qortalAddress: value, inviteTime: +expiryTime, }, }, (response) => { if (!response?.error) { setInfoSnack({ type: "success", message: `Successfully invited ${value}. It may take a couple of minutes for the changes to propagate`, }); setOpenSnack(true); res(response); setValue(""); return } setInfoSnack({ type: "error", message: response?.error, }); setOpenSnack(true); rej(response.error); } ); }); } catch (error) {} finally { setIsLoadingInvite(false) } }; const handleChange = (event: SelectChangeEvent) => { setExpiryTime(event.target.value as string); }; return ( Invite member setValue(e.target.value)} /> Invite ); };