Commit Graph

58 Commits

Author SHA1 Message Date
Lucas Verney 23aa8b52ab Basic error mechanism in webplayer 2016-08-12 16:30:17 +02:00
Lucas Verney 92f909a668 Fix a bug with pagination in Albums page 2016-08-12 16:29:13 +02:00
Lucas Verney 14e7fdceea AlbumPage is a scrolled ArtistPage 2016-08-12 15:41:27 +02:00
Lucas Verney 216f2e7348 Pretty URLs for albums URLs as well 2016-08-12 13:57:53 +02:00
Lucas Verney e232ec8c16 Add more prettty and human readable artists URLs 2016-08-12 13:11:14 +02:00
Lucas Verney 85dcf6d271 Set min and max bounds in page modal input. Closes #18 2016-08-12 12:06:34 +02:00
Lucas Verney e24e5cd6a9 Basic playlist viewing page
Add a playlist page to browse the current playlist at `/playlist`. This
is a very basic page that will need some rework.
2016-08-12 00:57:12 +02:00
Lucas Verney 4f8f201e67 Don't break when moving outside of playlist bounds with next / previous buttons 2016-08-11 23:46:42 +02:00
Lucas Verney 7c1d7dacc3 Webplayer automatically plays next song in the playlist when reaching the end of current song 2016-08-11 23:38:03 +02:00
Lucas Verney 43d3b927c1 Fix bug with play/playNext buttons in Album view
Was using `song` prop instead of `track` prop.
2016-08-11 22:33:00 +02:00
Lucas Verney ab7470d618 Basic playlist support for webplayer
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.
2016-08-11 22:01:47 +02:00
Lucas Verney b7f2f32e1d Hide webplayer when no song is in playlist 2016-08-11 19:33:05 +02:00
Lucas Verney 4e12da3a22 Fix pagination. Closes #17 2016-08-11 01:05:33 +02:00
Lucas Verney d8a7d4f66a Rework webplayer
Full rework of webplayer. Webplayer is back to its previous working
state, and ready for further improvements.
2016-08-10 23:50:23 +02:00
Lucas Verney fffe9c4cd3 Major code review
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.
2016-08-10 21:40:25 +02:00
Lucas Verney 247c71c9a7 Let user put spaces in filterbar. Closes #14 2016-08-08 12:35:21 +02:00
Lucas Verney 177c67845d Invalidate webplayer store on logout 2016-08-08 12:25:25 +02:00
Lucas Verney 4d4ce6c14e Basic webplayer
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.
2016-08-07 01:38:49 +02:00
Lucas Verney 4cef2c2014 Missing import on LogoutPage 2016-08-06 17:25:56 +02:00
Lucas Verney 9d73eeba15 Handle session expiration. Closes #11 2016-08-06 17:20:02 +02:00
Lucas Verney bb02473b11 Nicer alerts when an API error occurs, see #6 2016-08-06 16:59:22 +02:00
Lucas Verney 9d1ef1b0bf Fix some aria warnings and use immutable everywhere 2016-08-06 15:32:03 +02:00
Lucas Verney 34713cdcde Add some note about Ampache required version in README 2016-08-05 13:31:57 +02:00
Lucas Verney 2318889246 Forgot react-router-scroll dep in packages.json 2016-08-05 00:11:55 +02:00
Lucas Verney b73b4ba200 Finish API refactor, use normalizr + immutable 2016-08-05 00:04:23 +02:00
Lucas Verney 288039e732 More reliable build, spinning loading wheel and beginning of webplayer
* 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.
2016-08-04 15:28:07 +02:00
Lucas Verney 6e6588f01e Scroll back to top on page change 2016-08-03 22:34:12 +02:00
Lucas Verney c9013950d7 Fix caret and border-bottom alignement on Discover page 2016-08-03 20:28:26 +02:00
Lucas Verney 9717bdc47b Store invalidation on logout
Invalidate the store at logout, emptying cached items such as artists,
albums and songs and then preventing them from quickly reappearing when
reconnecting with the same or a different account.

Closes #5.
2016-08-03 15:55:42 +02:00
Lucas Verney df9dca3a11 Beginning of Discover page and remove dead code 2016-08-03 15:46:51 +02:00
Lucas Verney b450365af0 Set document lang on localization 2016-08-02 13:59:26 +02:00
Lucas Verney d5da4e4818 Fix grid + begin play buttons 2016-08-02 13:23:53 +02:00
Lucas Verney 2b3207ec44 Better responsive sidebar
Also fix a i18n missing string and add some `role` attributes for
accessibility.
2016-08-01 12:04:59 +02:00
Lucas Verney 40f6223bd0 Use Immutable, enhance i18n, pagination in the store
* 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
2016-08-01 00:30:44 +02:00
Lucas Verney 5a9f540cc0 Use Bootstrap variables in styles 2016-07-31 12:18:46 +02:00
Lucas Verney b7ff2bbd85 l10n of login info messages 2016-07-31 01:05:08 +02:00
Lucas Verney 1ec6af4833 Get rid of lodash in Grid 2016-07-30 22:54:19 +02:00
Lucas Verney 1add19319d Add Travis-CI build + restore stylelint 2016-07-30 19:50:04 +02:00
Lucas Verney 42662200aa Beginning of a more responsive sidebar 2016-07-30 16:01:42 +02:00
Lucas Verney d8a44cdc3c Use table-condensed on small screens 2016-07-30 01:05:25 +02:00
Lucas Verney 85ebfa0c55 Update hook to rebuild (S)CSS as well 2016-07-30 00:50:45 +02:00
Lucas Verney 27e3dc9b14 Fix issue #3, focus issue on navbar 2016-07-30 00:44:32 +02:00
Lucas Verney 2d9747482b Move to CSS modules
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.
2016-07-30 00:19:05 +02:00
Lucas Verney 921028c073 Finish translation 2016-07-29 00:50:08 +02:00
Lucas Verney 157382c3b8 Fix mixed content blocked when browsing the UI on HTTPS
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.
2016-07-29 00:03:28 +02:00
Lucas Verney 945b218504 Translations improved
* Translation system in place
* French translations available
2016-07-28 23:20:11 +02:00
Lucas Verney e6b9c3bf07 Beginning of translation using react-intl 2016-07-28 01:22:48 +02:00
Lucas Verney a13f87b5c0 Remove horizontal scrolling on xs screen on login form 2016-07-27 14:10:01 +02:00
Lucas Verney 25844836cb Better responsiveness 2016-07-27 13:51:30 +02:00
Lucas Verney 28bff9cece Fix a bug with error handling in API middleware 2016-07-27 13:51:09 +02:00