Guest User

Untitled

a guest
Apr 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. import React from "react";
  2. import SearchBar from "../SearchBar/SearchBar";
  3. import SearchResults from "../SearchResults/SearchResults";
  4. import Playlist from "../Playlist/Playlist";
  5. import "./App.css";
  6.  
  7. class App extends React.Component {
  8. constructor(props) {
  9. super(props);
  10. this.state = {
  11. searchResults: [
  12. { id:1, name: "a", artist: "b", album: "c" },
  13. { name: "d", artist: "e", album: "f" }
  14. ],
  15. playlistName: 'Tralara',
  16. playlistTracks: [
  17. {id:1, name: "z", artist: "x", album: "y" }
  18. ]
  19. };
  20. //42 ojo
  21. this.addTrack = this.addTrack.bind(this);
  22. this.removeTrack = this.removeTrack.bind(this);
  23. }
  24. // 41 si el id ya existe no hagas nada
  25. addTrack(track){
  26. if(this.state.playlistTracks.find(savedTrack =>
  27. savedTrack.id === track.id)){
  28. return console.log(track);
  29. ////Check <a> + </a> from onClick in Track Component
  30. // savedTrack.id !== track.id)){
  31. // return console.log(track);
  32. }else{
  33. console.log('ID not found');
  34. this.setState({
  35. //something here ¿isRemoval = !isRemoval
  36. })
  37. }
  38. }
  39.  
  40. removeTrack(track){
  41. // TODO: not finish
  42. }
  43.  
  44. render() {
  45. return (
  46. <div>
  47. <h1>
  48. Ja<span className="highlight">mmm</span>ing
  49. </h1>
  50. <div className="App">
  51. <SearchBar />
  52. <div className="App-playlist">
  53. {/* 32 */}
  54. <SearchResults
  55. searchResults={this.state.searchResults}
  56. onAdd={this.addTrack} //42
  57. />
  58. {/* Pass the tracks to the PlayList.js + <Tracklist */}
  59. <Playlist
  60. playlistName={this.state.playlistName}
  61. playlistTracks={this.state.playlistTracks}
  62. onRemove={this.removeTrack}
  63. />
  64. </div>
  65. </div>
  66. </div>
  67. );
  68. }
  69. }
  70. export default App;
Add Comment
Please, Sign In to add comment