Commit Graph

52 Commits

Author SHA1 Message Date
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
4f8f201e67 Don't break when moving outside of playlist bounds with next / previous buttons 2016-08-11 23:46:42 +02:00
7c1d7dacc3 Webplayer automatically plays next song in the playlist when reaching the end of current song 2016-08-11 23:38:03 +02:00
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
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
b7f2f32e1d Hide webplayer when no song is in playlist 2016-08-11 19:33:05 +02:00
4e12da3a22 Fix pagination. Closes #17 2016-08-11 01:05:33 +02:00
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
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
247c71c9a7 Let user put spaces in filterbar. Closes #14 2016-08-08 12:35:21 +02:00
177c67845d Invalidate webplayer store on logout 2016-08-08 12:25:25 +02:00
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
4cef2c2014 Missing import on LogoutPage 2016-08-06 17:25:56 +02:00
9d73eeba15 Handle session expiration. Closes #11 2016-08-06 17:20:02 +02:00
bb02473b11 Nicer alerts when an API error occurs, see #6 2016-08-06 16:59:22 +02:00
9d1ef1b0bf Fix some aria warnings and use immutable everywhere 2016-08-06 15:32:03 +02:00
34713cdcde Add some note about Ampache required version in README 2016-08-05 13:31:57 +02:00
2318889246 Forgot react-router-scroll dep in packages.json 2016-08-05 00:11:55 +02:00
b73b4ba200 Finish API refactor, use normalizr + immutable 2016-08-05 00:04:23 +02:00
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
6e6588f01e Scroll back to top on page change 2016-08-03 22:34:12 +02:00
c9013950d7 Fix caret and border-bottom alignement on Discover page 2016-08-03 20:28:26 +02:00
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
df9dca3a11 Beginning of Discover page and remove dead code 2016-08-03 15:46:51 +02:00
b450365af0 Set document lang on localization 2016-08-02 13:59:26 +02:00
d5da4e4818 Fix grid + begin play buttons 2016-08-02 13:23:53 +02:00
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
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
5a9f540cc0 Use Bootstrap variables in styles 2016-07-31 12:18:46 +02:00
b7ff2bbd85 l10n of login info messages 2016-07-31 01:05:08 +02:00
1ec6af4833 Get rid of lodash in Grid 2016-07-30 22:54:19 +02:00
1add19319d Add Travis-CI build + restore stylelint 2016-07-30 19:50:04 +02:00
42662200aa Beginning of a more responsive sidebar 2016-07-30 16:01:42 +02:00
d8a44cdc3c Use table-condensed on small screens 2016-07-30 01:05:25 +02:00
85ebfa0c55 Update hook to rebuild (S)CSS as well 2016-07-30 00:50:45 +02:00
27e3dc9b14 Fix issue #3, focus issue on navbar 2016-07-30 00:44:32 +02:00
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
921028c073 Finish translation 2016-07-29 00:50:08 +02:00
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
945b218504 Translations improved
* Translation system in place
* French translations available
2016-07-28 23:20:11 +02:00
e6b9c3bf07 Beginning of translation using react-intl 2016-07-28 01:22:48 +02:00
a13f87b5c0 Remove horizontal scrolling on xs screen on login form 2016-07-27 14:10:01 +02:00
25844836cb Better responsiveness 2016-07-27 13:51:30 +02:00
28bff9cece Fix a bug with error handling in API middleware 2016-07-27 13:51:09 +02:00
942d123791 Limit maximum width of arts 2016-07-26 21:06:41 +02:00
b54734b5dc Improve sidebar 2016-07-26 21:01:27 +02:00
414f05df44 Hot reloading with webpack 2016-07-26 15:59:18 +02:00
ef4dfd1176 Accessibility stuff 2016-07-26 13:21:37 +02:00
136fb59ed5 Better webpack config 2016-07-25 23:22:44 +02:00
767fd0f7d1 Manage CSS with webpack as well, reduce number of final scripts 2016-07-25 01:04:09 +02:00