Webplayer can now handle a basic playlist, pushing multiple songs in the
playlist and passing from one song to another.
Some things that are not yet working:
* Using previous and next buttons and going outside of the playlist
breaks things.
* Random / repeat modes are not yet implemented.
* Playlist is not exposed in the UI at the moment.
* Seeking in a song is not exposed in the UI.
* When playing a song, webplayer does not automatically play the next
one when reaching the end of the song.
Major code review, cleaning the code and adding a lot of comments. Also
implements a separate store to keep entities with a reference count and
garbage collection. This closes#15.
Known issues at the moment are:
* Webplayer is no longer working, it has to be refactored.
* AlbumPage is to be implemented.
Now able to play a single file, in a format supported by your browser.
* Playlists not yet supported.
* Volume is a simple on/off switch.
* Repeat / Random not yet supported.
* Build everything in `public/` folder, to serve only this and avoid
issues with `publicPath` in webpack.
* Moved some icons to FontAwesome and use spinning wheels from
FontAwesome to indicate loading.
* (Very) beginning of a webplayer.
* Keep track of pagination in the store
* Use Immutable in reducers
* Finish i18n, every available strings are now translated in English and French
* Add a loading indicator
* Premises of API error handling
* Better locale negotiation
Also includes misc fixes
* Use CSS modules for all the CSS.
* Fix a bug in the filterbar which was not filtering anything.
* Fix a l10n issue in songs view.
* Update hook to clean build repo before running, preventing to push
dev built code.
* Update webpack build code.
When not setting an endpoint protocol scheme at login, "http" was
assumed. Changing this to the same protocol as current one, to avoid
mixed blocked content.
Also prevent multiple submissions of LoginForm.