TrainingMeta.tsx 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { TTraining } from '../types'
  2. import { calculateRating, formatTime, calculateDuration } from '../utils'
  3. import RegistrationButton from './RegistrationButton'
  4. const TrainingMeta = ({ training }: { training: TTraining }) => {
  5. return (
  6. <aside className='training-meta'>
  7. <div className='info'>
  8. <span className='caption'>Type</span>
  9. <span className='data' title={training.type.description}>
  10. {training.type.name}
  11. </span>
  12. </div>
  13. <div className='info'>
  14. <span className='caption'>Date</span>
  15. <span className='data'>{new Date(training.trainingDate).toLocaleString()}</span>
  16. </div>
  17. <div className='info'>
  18. <span className='caption'>Duration</span>
  19. <span className='data'>{formatTime(calculateDuration(training.blocks))} minutes</span>
  20. </div>
  21. <div className='info'>
  22. <span className='caption'>Location</span>
  23. <span className='data'>{training.location}</span>
  24. </div>
  25. <div className='info'>
  26. <span className='caption'>Registrations</span>
  27. <span className='data'>
  28. {training.registrations?.length ?? 0}
  29. <RegistrationButton training={training} />
  30. </span>
  31. </div>
  32. {/*<div className="info">
  33. <span className="caption">Attendance: </span>
  34. <span className="data">{training.attendance}</span>
  35. </div>
  36. <div className="info">
  37. <span className="caption">Rating: </span>
  38. <span className="data">
  39. {calculateRating(training.ratings)} [
  40. <a href="">{training.ratings.length}</a>] Rate it!
  41. <a href="">*</a>
  42. <a href="">*</a>
  43. <a href="">*</a>
  44. <a href="">*</a>
  45. <a href="">*</a>
  46. </span>
  47. </div>
  48. */}
  49. <style jsx>{`
  50. .info .caption {
  51. display: inline-block;
  52. font-weight: 900;
  53. min-width: 7em;
  54. }
  55. `}</style>
  56. </aside>
  57. )
  58. }
  59. export default TrainingMeta