Guest User

Untitled

a guest
Jan 24th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. import "./styles.css";
  2.  
  3. import React, { Component, Fragment } from "react";
  4. import { inject, observer } from "mobx-react";
  5. import { Button } from "reactstrap";
  6. import Movie from "../Movie";
  7. import Store from "./store";
  8.  
  9. @inject(stores => ({
  10. moviesStore: stores.moviesStore,
  11. watchListStore: stores.watchListStore
  12. }))
  13. @observer
  14. export default class MoviesIndex extends Component {
  15. constructor(props) {
  16. super(props);
  17.  
  18. this.store = Store.create(null, this);
  19. }
  20.  
  21. render() {
  22. if (this.store.paginationStore.isLoading) {
  23. return <div>loading...</div>;
  24. }
  25.  
  26. const { previousPage, nextPage } = this.store.paginationStore;
  27.  
  28. return (
  29. <div>
  30. <div className="movie-list">
  31. {this.store.movies.map(movie => {
  32. const {
  33. id,
  34. isOnWatchList,
  35. removeFromWatchList,
  36. addToWatchList
  37. } = movie;
  38.  
  39. return (
  40. <Movie key={id} {...movie}>
  41. {isOnWatchList ? (
  42. <Button onClick={removeFromWatchList}>
  43. Remove from Watch List
  44. </Button>
  45. ) : (
  46. <Button onClick={addToWatchList}>Add to Watch List</Button>
  47. )}
  48. </Movie>
  49. );
  50. })}
  51. </div>
  52. <div className="movie-index-buttons">
  53. <Button onClick={previousPage}>Previous Page</Button>
  54. <Button onClick={nextPage}>Next Page</Button>
  55. </div>
  56. </div>
  57. );
  58. }
  59. }
Add Comment
Please, Sign In to add comment