Tables.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import React from "react";
  2. function Tables({persons}) {
  3. function addEventlistener(name){
  4. return function(event){
  5. var personDiv = document.getElementById(name);
  6. var extend = personDiv.lastChild;
  7. if (extend.style.display === "block") {
  8. extend.style.display = "none";
  9. } else {
  10. extend.style.display = "block";
  11. }
  12. }
  13. }
  14. var currentDate = new Date()
  15. const sortedpersons = persons.sort(function(a, b){return b.longitude - a.longitude});
  16. return (
  17. <div>
  18. <div className="header">
  19. <p>RACE</p>
  20. <p>{currentDate.getDate()}.{currentDate.getMonth() + 1}.{currentDate.getFullYear()}</p>
  21. </div>
  22. <div id="online">
  23. {sortedpersons.filter(person => person.online).map((person, index) => {
  24. return (
  25. <div key={person.name} className="person" id={person.name} data-status={person.online ? "online" : "offline"} onClick={addEventlistener(person.name)}>
  26. {person.longitude}-{person.latitude}-
  27. <div className='rank'>{index + 1}</div>
  28. <div className='color' style={{backgroundColor: person.color}}>&nbsp;</div>
  29. {person.shortName}
  30. <div className='speed'>{person.speed}</div>
  31. <div className='extend'>
  32. <img src='foto.png' alt={person.fullName}/>
  33. <p>{person.fullName}</p>
  34. <p>Geschwindigkeit: {person.speed}</p>
  35. <p>Status: {person.online ? "online" : "offline"}</p>
  36. </div>
  37. </div>
  38. );
  39. })}
  40. </div>
  41. <div id="offline">
  42. {sortedpersons.filter(person => !person.online).map(person => {
  43. return (
  44. <div key={person.name} className="person" id={person.name} data-status={person.online ? "online" : "offline"} onClick={addEventlistener(person.name)}>
  45. <div className='color' style={{backgroundColor: person.color}}>&nbsp;</div>
  46. {person.shortName}
  47. <div className='speed'>OUT</div>
  48. <div className='extend'>
  49. <img src='foto.png' alt={person.fullName}/>
  50. <p>{person.fullName}</p>
  51. <p>Status: {person.online ? "online" : "offline"}</p>
  52. </div>
  53. </div>
  54. );
  55. })}
  56. </div>
  57. </div>
  58. );
  59. }
  60. export default Tables;