Playlist.js 801 B

123456789101112131415161718192021222324252627
  1. import React from 'react';
  2. import {formatDuration} from './utils.js';
  3. export default function Playlist(props) {
  4. const {tracks} = props
  5. if (!tracks) {
  6. return null;
  7. }
  8. if (!Array.isArray(tracks)) {
  9. return <div className="Playlist-error">{tracks}</div>;
  10. }
  11. return (
  12. <table className="Playlist"><tbody>
  13. {tracks.map((track, i) => (
  14. <tr key={i} className={ i === props.activeTrack ? "Playlist-active" : "" }>
  15. <td>{track.no}</td>
  16. <td>{track.title}</td>
  17. <td>{track.artist}</td>
  18. <td>{track.year}</td>
  19. <td>{track.album}</td>
  20. <td>{track.bit_rate} kbps</td>
  21. <td>{formatDuration(track.duration)}</td>
  22. <td><button onClick={() => props.onActivateTrack(i)}>play</button></td>
  23. </tr>))}
  24. </tbody></table>
  25. )
  26. }