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;