File indexing completed on 2025-05-04 05:31:00

0001 import React ,{useState,useEffect} from 'react'
0002 
0003 const Nextcloud = (props) => {
0004     const [users, setUsers] = useState([]);
0005     const [userdefault, setUserdefault] = useState({'displayname':props.username});
0006     const [imgpath,setImgpath] = useState(window.config.myopendesktopUrl+'/avatar/');
0007     const [isloading, setIsloading] = useState(true);
0008     useEffect(() => {                 
0009         loadData();
0010     },[]);
0011 
0012     const loadData =  () => {        
0013         
0014         fetch(`/json/nextcloud?username=${props.username}`, {
0015             mode: 'cors',
0016             credentials: 'include'
0017           })
0018           .then(response => response.json())
0019           .then(data => {
0020                 let items = data;
0021                 if (items && typeof(items.users) != "undefined")   
0022                 {
0023                     setUsers(items.users);
0024                     setIsloading(false);
0025                     if(items.users && items.users.length>0)
0026                     {
0027                         setUserdefault(items.users[0]);
0028                         
0029                     }
0030                 }
0031           }); 
0032         
0033       }
0034 
0035     return (
0036         <div className="sub-system-container">  
0037         <div className="header">Nextcloud : {userdefault.displayname} 
0038         {
0039             userdefault.displayname && userdefault.id &&
0040             <>            
0041             <img  src={imgpath+userdefault.id+'/50'}></img>
0042             </>
0043         }
0044         {
0045             userdefault.id==null && !isloading &&
0046             <span style={{color:'red'}}> User {userdefault.displayname} not existing </span>
0047         }
0048         </div>  
0049         
0050         <div>
0051             {
0052                 isloading &&
0053                 <span>loading...</span>
0054             }
0055         <ul>{
0056 
0057             users.map((p,index) =>       
0058             <li key={index}>          
0059                 <img className="icon" src={imgpath+p.id+'/50'}></img>          
0060                 <div className="title">                
0061                 <ul>
0062                     <li>{'id:'+p.id}</li>
0063                     <li>{'email:'+p.email}</li>
0064                     <li>{'displayname:'+p.displayname}</li>
0065                     <li>{'backend:'+p.backend}</li>
0066                 </ul>
0067           
0068                 </div>
0069             </li>
0070             )
0071             
0072         }
0073         </ul>
0074         </div>       
0075         </div>
0076     )
0077 }
0078 
0079 export default Nextcloud;