Guest User

Untitled

a guest
Oct 17th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import SearchBar from '../SearchBar/SearchBar.js';
  4. import SearchResults from '../SearchResults/SearchResults.js';
  5. import Playlist from '../Playlist/Playlist.js';
  6. import './App.css';
  7. import Spotify from '../../utill/Spotify.js';
  8.  
  9. class App extends React.Component {
  10. constructor(props) {
  11. super(props);
  12. this.state = ({
  13. searchResults: [
  14. 'name': 'a',
  15. 'artist':'b',
  16. 'album': 'c'
  17. ],
  18. playlistName: '',
  19. playlistTrack: [
  20. 'name': '',
  21. 'artist':'',
  22. 'album': '',
  23. ]
  24. });
  25. this.addTrack = this.addTrack.bind(this);
  26. this.removeTrack = this.removeTrack.bind(this);
  27. this.updatePlaylistName = this.updatePlaylistName.bind(this);
  28. this.savePlaylist = this.savePlaylist.bind(this);
  29. this.search = this.search.bind(this);
  30. }
  31.  
  32. addTrack(track) {
  33. let tracks = this.state.playlistTracks;
  34. if (tracks.find(savedTrack => savedTrack.id === track.id)) {
  35. return;
  36. }
  37. tracks.push(track);
  38. this.setState({playlistTracks: tracks});
  39.  
  40. }
  41.  
  42.  
  43. removeTrack(track) {
  44. let playlistTracks = this.state.playlistTracks;
  45. let newPlaylistTracks = playlistTracks.filter(savedTrack => savedTrack.id !== track.id);
  46. this.setState({playlistTracks: newPlaylistTracks});
  47. }
  48. updatePlaylistName(name) {
  49. this.setState({playlistName: name});
  50. }
  51.  
  52. savePlaylist() {
  53. const trackURIs = this.state.playlistTracks.map(track => track.uri);
  54. }
  55.  
  56. Spotify.search(term).then(results =>
  57. {this.setState({searchResults: results});
  58. console.log(term);
  59. })
  60.  
  61. render() {
  62. return (<div>
  63. <h1>Ja<span className="highlight">mmm</span>ing</h1>
  64. <div className="App">
  65. <SearchBar onSearch = {this.search}/>
  66. <div className="App-playlist">
  67. <SearchResults SearchResults={this.state.searchResults } onAdd = {this.addTrack}/>
  68. <Playlist playlistName = {this.playlistName} playlistTrack = {this.playlistTrack} onRemove = {this.removeTrack} onSave = {this.savePlaylist}/>
  69. </div>
  70. </div>
  71. </div>);
  72. }
  73. };
  74. export default App;
Add Comment
Please, Sign In to add comment