import * as React from 'react'; import { Add, Edit } from '@mui/icons-material'; import { Grid, TextField, IconButton, TextareaAutosize } from '@mui/material'; import { Chat, common, Firegun } from "@yokowasis/firegun"; import BasicModal from './BasicModal'; export default function EditGroupChat( props: { groupowner : string, groupname : string, common : typeof common, chat : Chat, fg : Firegun, } ) { const [editGroupName, setEditGroupName] = React.useState(""); const [editGroupDescription, setEditGroupDescription] = React.useState(""); const [editImage, setEditImage] = React.useState(""); const [isGroupAdmin, setIsGroupAdmin] = React.useState(false); const handleNewGroupName = (event: React.ChangeEvent) => { props.common.fileTobase64(event.target) .then((s:any)=>{ setEditImage(s.content); }) } const selectLogo = () => { if (document != null) { let b = document.getElementById("newGroupImage"); if (b != null) { b.click(); } } } const getGroupInfo = async () => { let data = await props.chat.groupGetInfo(props.groupowner, props.groupname); if (typeof data === "object") { setEditGroupDescription(data.desc); setEditGroupName(data.name); setEditImage(data.image); } let admins = await props.chat.groupGetAdmin(props.groupowner, props.groupname); if (admins.some(e => e.pub === props.fg.user.pair.pub)) { setIsGroupAdmin(true); } } const saveEditGroup = async (cb:()=>void) => { await props.chat.groupSetInfo(props.groupowner,editGroupName,editGroupDescription,editImage) cb(); } React.useEffect(()=>{ if (props.groupname && props.groupowner) getGroupInfo(); },[props.groupname]) return ( <> } btnVariant="text"> { editImage ? new group : } {setEditGroupName(e.target.value)}} /> {setEditGroupDescription(e.target.value)}} /> ); }