training.js 976 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. function calculateRating(ratings) {
  2. numberOfRatings = ratings.length;
  3. sumOfRatings = ratings.reduce((accumulator, value) => accumulator + value);
  4. return sumOfRatings / numberOfRatings;
  5. }
  6. const TrainingArchive = props => (
  7. <div>
  8. <h2>Training Archive</h2>
  9. {console.log("archive", props)}
  10. <ol>
  11. {props.trainings.map(training => (
  12. <TrainingHint key={training.id} training={training} />
  13. ))}
  14. </ol>
  15. </div>
  16. );
  17. const TrainingHint = props => (
  18. <div>
  19. {console.log("hint", props)}
  20. <div>{props.training.date}</div>
  21. <div>{props.training.title}</div>
  22. </div>
  23. );
  24. const Training = props => (
  25. <div>
  26. <h3>{props.training.title}</h3>
  27. <p>Date: {props.training.date}</p>
  28. <p>Location: {props.training.location}</p>
  29. <p>Participants: {props.training.participants.length}</p>
  30. <p>Rating: {calculateRating(props.training.ratings)}</p>
  31. <p>Content</p>
  32. </div>
  33. );
  34. export { TrainingArchive };
  35. export default Training;