Spotify Player
This is a simple spotify player for a single album of a given artist.
install
Bower:
bower install react-spotify-album-player
For bower usage,
<script src="path/to/react.js"></script>
<script src="path/to/react-spotify-album-player/dist/react-spotify-album-player.js"></script>
NPM:
npm install react-spotify-album-player
Demo
https://devilcius.github.io/react-spotify-album-player/
Basic Usage
var React = require('react');
var SpotifyPlayer = require('react-spotify-album-player');
var container = document.getElementById('spotify-player');
var ReactDOM = require('react-dom');
ReactDOM.render(
    <SpotifyPlayer
        albumName="Milo Goes to College"
        artistName="Descendents"
        noDataFoundText="No data found"
        previewWarningText="Only 20 seconds preview"
        showHeader
        token
 />,
    container
);
Required options:
| Property | Type | Description | 
|---|---|---|
| albumName | string | Release's name | 
| artistName | string | Artist's name | 
| token | string | A valid spotify web api access token | 
Further options:
| Property | Type | Default | Description | 
|---|---|---|---|
| listGroupItemBadgeClassName | string | 'badge' | class name for badge element | 
| listGroupClassName | string | 'list-group' | class name for list group element | 
| listGroupItemClassName | string | 'list-group-item' | class name for list group item element | 
| onTrackPlayed | func | undefined | track played handler: function(audioTrack, spotifyTrack) {} | 
| onTrackPaused | func | undefined | track paused handler: function(audioTrack, spotifyTrack) {} | 
| noDataFoundText | string | No data found | placeholder displayed when there are no matching search results values | 
| previewWarningText | string | Only 20 seconds preview | placeholder preview audio file warning | 
| showHeader | bool | false | whether to show player header | 
Development
Local development is separated into two parts (ideally using two tabs).
First, run rollup to watch your src/ module and automatically recompile it into dist/ whenever you make changes.
npm start # runs rollup with watch flag
The second part will be running the example/ create-react-app that's linked to the local version of your module.
# (in another tab)
cd example
npm start # runs create-react-app dev server
Now, anytime you make a change to your library in src/ or to the example app's example/src, create-react-app will live-reload your local dev server so you can iterate on your component in real-time.
Publishing to npm
npm publish
This builds cjs and es versions of your module to dist/ and then publishes your module to npm.
Make sure that any npm modules you want as peer dependencies are properly marked as peerDependencies in package.json. The rollup config will automatically recognize them as peers and not try to bundle them in your module.
Deploying to Github Pages
npm run deploy
This creates a production build of the example create-react-app that showcases your library and then runs gh-pages to deploy the resulting bundle.
Todo
- [ ] Sanity checks in xhr calls
- [ ] Error handling in xhr calls
 
             
             
             
             
            