Guest User

Untitled

a guest
Jan 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. import React, { Component } from 'react';
  2.  
  3. // MODULES
  4.  
  5. // COMPONENTS
  6. import VideoList from './components/video_list/video_list';
  7. import Dashboard from './components/dashboard/dashboard';
  8. import Navbar from './components/navbar/navbar';
  9. import SearchBar from './components/search_bar/search_bar';
  10. import VideoModal from './components/video_detail/video_modal';
  11.  
  12. // REDUX
  13. import { connect } from 'react-redux';
  14. // import reducer from './reducers/reducer';
  15.  
  16. // CSS/Other Resources
  17. import './App.css';
  18.  
  19. class App extends Component {
  20. constructor(props) {
  21. super(props);
  22. this.state = {
  23. movieSelected: undefined,
  24. };
  25.  
  26. // this.handlePick = this.handlePick.bind(this);
  27. }
  28.  
  29. handleCloseDetail = () => {
  30. this.setState({ movieSelected: undefined });
  31. };
  32.  
  33. handlePick = () => {
  34. this.setState({ movieSelected: this.movieData.imdbID });
  35. };
  36.  
  37. // RENDER
  38. render() {
  39. return (
  40. <div className="body">
  41. <Navbar />
  42. <Dashboard />
  43. <SearchBar />
  44. {this.props.movie && <VideoList movieSelected={this.state.movieSelected} handlePick={this.handlePick} />}
  45. <VideoModal movieSelected={this.state.movieSelected} handleCloseDetail={this.handleCloseDetail} />
  46. </div>
  47. );
  48. }
  49. }
  50. // REDUX
  51.  
  52. function mapStateToProps(state) {
  53. return state;
  54. }
  55.  
  56. // EXPORT
  57.  
  58. // export default App;
  59.  
  60. // REDUX EXPORT
  61.  
  62. export default connect(mapStateToProps)(App);
  63.  
  64. import React, { Component } from 'react';
  65. import Slider from 'react-slick';
  66.  
  67. // MODULES
  68.  
  69. // COMPONENTS
  70.  
  71. // REDUX
  72. import { connect } from 'react-redux';
  73.  
  74. // CSS/Other Resources
  75.  
  76. class VideoList extends Component {
  77. constructor(props) {
  78. super(props);
  79. console.log(this.props.handlePick);
  80. this.handlePick = this.handlePick.bind(this);
  81. }
  82.  
  83. handlePick() {
  84. this.props.handlePick();
  85. }
  86.  
  87. renderMovies(movieData) {
  88. return (
  89. <div className="col-md-3" key={movieData.imdbID}>
  90. <div className="well text-center">
  91. <img src={movieData.Poster} alt="Card image cap" />
  92. <h5>
  93. {movieData.Title} ({movieData.Year})
  94. </h5>
  95. <br />
  96. {/* {console.log(this.handlePick)}; */}
  97. <button onClick={() => this.handlePick()} className="btn btn-primary">
  98. View Detail
  99. </button>
  100. </div>
  101. </div>
  102. );
  103. }
  104.  
  105. render() {
  106. //console.log(this.props.movie[0]);
  107. return (
  108. <div className="container">
  109. <div className="row" id="movies">
  110. {this.props.movie.map(this.renderMovies)}
  111. </div>
  112. </div>
  113. );
  114. }
  115. }
  116.  
  117. // REDUX
  118.  
  119. function mapStateToProps({ movie }) {
  120. //console.log(movie);
  121. //console.log(typeof movie);
  122. return { movie };
  123. }
  124. // EXPORT
  125.  
  126. // export default AllVideos;
  127.  
  128. // REDUX EXPORT
  129.  
  130. export default connect(mapStateToProps)(VideoList);
  131.  
  132. import React from 'react';
  133. import Modal from 'react-modal';
  134.  
  135. const VideoModal = (props) => (
  136. <Modal
  137. isOpen={!!props.movieSelected}
  138. contentLabel="Movie Detail"
  139. >
  140. <h3>Suspicio? Bene ... tunc ibimus? Quis uh ... CONEXUS locus his diebus? Quisque semper aliquid videtur, in volutpat mauris. Nolo enim dicere. Vobis neque ab aliis. Ego feci memetipsum explicans. Gus mortuus est. Lorem opus habeo. </h3>
  141. <button onClick={props.handleCloseDetail}>Close Detail</button>
  142. </Modal>
  143. );
  144.  
  145.  
  146. export default VideoModal;
Add Comment
Please, Sign In to add comment