player

Spotify player for a specific album from a given artist

Mar 17, 2019
Spotify player for a specific album from a given artist

Spotify Player

This is a simple spotify player for a single album of a given artist.

View Demo Download Source

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:

PropertyTypeDescription
albumNamestringRelease's name
artistNamestringArtist's name
tokenstringA valid spotify web api access token

Further options:

PropertyTypeDefaultDescription
listGroupItemBadgeClassNamestring'badge'class name for badge element
listGroupClassNamestring'list-group'class name for list group element
listGroupItemClassNamestring'list-group-item'class name for list group item element
onTrackPlayedfuncundefinedtrack played handler: function(audioTrack, spotifyTrack) {}
onTrackPausedfuncundefinedtrack paused handler: function(audioTrack, spotifyTrack) {}
noDataFoundTextstringNo data foundplaceholder displayed when there are no matching search results values
previewWarningTextstringOnly 20 seconds previewplaceholder preview audio file warning
showHeaderboolfalsewhether 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

GitHub

Recommended