File indexing completed on 2025-05-04 05:31:00
0001 import React ,{useState,useEffect} from 'react' 0002 const Riot = (props) => { 0003 0004 const [user, setUser] = useState({'username':''}); 0005 const [userPresence, setUserPresence] = useState(null); 0006 const [imgpath,setImgpath] = useState('https://chat.opendesktop.org/_matrix/media/r0/thumbnail/'); 0007 0008 useEffect(() => { 0009 loadData(); 0010 },[]); 0011 0012 const loadData = () => { 0013 fetch(`/json/riot?username=${props.username}`, { 0014 mode: 'cors', 0015 credentials: 'include' 0016 }) 0017 .then(response => response.json()) 0018 .then(data => { 0019 let items = data; 0020 if (items && typeof(items.user) != "undefined") 0021 { 0022 setUser(items.user); 0023 } 0024 if (items && typeof(items.status.presence) != "undefined" ) 0025 { 0026 setUserPresence(items.status.presence); 0027 } 0028 }); 0029 } 0030 0031 return ( 0032 <div className="sub-system-container"> 0033 <div className="header">Chat : {user.displayname} 0034 { 0035 user.avatar_url && 0036 <> 0037 <img src={imgpath+user.avatar_url.replace('mxc://','')+'?width=50&height=50&method=crop'}></img> 0038 </> 0039 } 0040 0041 {userPresence} 0042 </div> 0043 0044 </div> 0045 ) 0046 } 0047 0048 export default Riot;