Home.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import React from 'react';
  2. import { connect } from "react-redux";
  3. import { getAllEvents } from "../../actions/getAllEvents";
  4. import './home.scss';
  5. import logo from '../../assets/img/logo.png';
  6. import bgVideo from '../../assets/img/bg-video.mp4';
  7. import campsite from '../../assets/img/logos/Campsite_logo.svg';
  8. import jwMarriott from '../../assets/img/logos/JWMarriott.svg';
  9. import losAngeles from '../../assets/img/logos/Los_Angeles_Galaxy_logo.svg';
  10. import salesforce from '../../assets/img/logos/Salesforce_Logo.svg';
  11. import toyota from '../../assets/img/logos/Toyota_carlogo.svg';
  12. import usat from '../../assets/img/logos/USAT.svg';
  13. import velofix from '../../assets/img/logos/velofix.svg';
  14. import xterra from '../../assets/img/logos/Xterra.svg';
  15. import acs from '../../assets/img/logos/ACS.svg';
  16. import Sidebar from '../../components/sidebar/Sidebar';
  17. import EventInfoShort from '../../components/eventInfoShort/EventInfoShort';
  18. import Footer from '../../components/footer/Footer';
  19. const sponsors = [
  20. {
  21. src: campsite,
  22. alt: 'campsite',
  23. id: 1
  24. },
  25. {
  26. src: jwMarriott,
  27. alt: 'jwMarriott',
  28. id: 2
  29. },
  30. {
  31. src: losAngeles,
  32. alt: 'losAngeles',
  33. id: 3
  34. },
  35. {
  36. src: salesforce,
  37. alt: 'salesforce',
  38. id: 4
  39. },
  40. {
  41. src: toyota,
  42. alt: 'toyota',
  43. id: 5
  44. },
  45. {
  46. src: usat,
  47. alt: 'usat',
  48. id: 6
  49. },
  50. {
  51. src: velofix,
  52. alt: 'velofix',
  53. id: 7
  54. },
  55. {
  56. src: xterra,
  57. alt: 'xterra',
  58. id: 8
  59. },
  60. {
  61. src: acs,
  62. alt: 'acs',
  63. id: 9
  64. }
  65. ];
  66. export class Home extends React.Component {
  67. componentDidMount() {
  68. this.props.getAllEvents();
  69. }
  70. render() {
  71. const { events } = this.props;
  72. return (
  73. <>
  74. <Sidebar/>
  75. <div className="hero">
  76. <div className="container-wrap">
  77. <div className="hero-wrap">
  78. <div className="hero-logo">
  79. <img src={logo} alt="logo" />
  80. <h3><span className="just">Just</span><span className="tri">tri</span> it</h3>
  81. </div>
  82. <h1>International competitions among professionals and amateurs</h1>
  83. </div>
  84. </div>
  85. <div className="bg-black"></div>
  86. <div className="bg-img"></div>
  87. <video id="background-video" loop autoPlay>
  88. <source src={bgVideo} type="video/mp4" />
  89. <source src={bgVideo} type="video/ogg" />
  90. Your browser does not support the video tag.
  91. </video>
  92. </div>
  93. <div className="container-wrap home events">
  94. <div className="events-content">
  95. <h4>Last Events</h4>
  96. <div className="events-list">
  97. {
  98. events.length !== 0 ? events.map( (event,ind) => ind < 6 && <EventInfoShort
  99. key={event._id}
  100. title={event.title}
  101. country={event.country}
  102. city={event.city}
  103. id={event._id}
  104. eventDate={event.eventDate}
  105. imgSrc={event.mainBannerPicture} />
  106. ) : <p className="not-found">Not found events</p>
  107. }
  108. </div>
  109. </div>
  110. </div>
  111. <div className="sponsors">
  112. <div className="container-wrap">
  113. <h4>Sponsors</h4>
  114. <div className="sponsors-wrap">
  115. {
  116. sponsors.map( sponsor =>
  117. <div className="item" key={sponsor.id}>
  118. <img src={sponsor.src} alt={sponsor.alt} />
  119. </div>
  120. )
  121. }
  122. </div>
  123. </div>
  124. </div>
  125. <Footer/>
  126. </>
  127. )
  128. }
  129. }
  130. const mapStateToProps = state => {
  131. return {
  132. events: state.getEvents.events
  133. };
  134. };
  135. export default connect(
  136. mapStateToProps,
  137. { getAllEvents }
  138. )(Home);