diff --git a/gulpfile.js b/gulpfile.js
index 36e52232..d48c37b3 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -6,10 +6,7 @@ var gutils = require('gulp-util');
elixir.config.js.browserify.transformers.push({
name: 'vueify',
-
- options: {
- postcss: [cssnext()]
- }
+ options: { postcss: [cssnext()] }
});
if (gutils.env._.indexOf('watch') > -1) {
@@ -29,7 +26,6 @@ elixir(function (mix) {
mix.scripts([
'node_modules/babel-polyfill/dist/polyfill.min.js',
'node_modules/plyr/dist/plyr.js',
- 'node_modules/rangetouch/dist/rangetouch.js',
'resources/assets/js/libs/modernizr-custom.js'
], 'public/js/vendors.js', './')
.styles([
diff --git a/package.json b/package.json
index d72ab14d..a132e2cc 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,8 @@
"gulp": "^3.9.0",
"gulp-util": "^3.0.7",
"ismobilejs": "^0.4.0",
- "jquery": "^2.2.1",
+ "jquery": "^3.1.1",
+ "jsdom": "^9.2.1",
"laravel-elixir": "^5.0.0",
"local-storage": "^1.4.2",
"lodash": "^4.6.1",
@@ -35,8 +36,7 @@
"nprogress": "^0.2.0",
"plyr": "1.5.x",
"postcss-cssnext": "^2.6.0",
- "rangeslider.js": "^2.1.1",
- "rangetouch": "0.0.9",
+ "rangeslider.js": "^2.2.1",
"select": "^1.0.6",
"sinon": "^1.17.2",
"sweetalert": "^1.1.3",
diff --git a/resources/assets/js/app.vue b/resources/assets/js/app.vue
index dc215202..d87e7812 100644
--- a/resources/assets/js/app.vue
+++ b/resources/assets/js/app.vue
@@ -9,15 +9,15 @@
@keydown.mediaNext = "playNext"
@keydown.mediaToggle = "togglePlayback"
>
-
-
-
-
-
+
+
+
+
+
-
+
diff --git a/resources/assets/js/components/auth/login-form.vue b/resources/assets/js/components/auth/login-form.vue
index d1f696ef..776ca1e8 100644
--- a/resources/assets/js/components/auth/login-form.vue
+++ b/resources/assets/js/components/auth/login-form.vue
@@ -1,8 +1,8 @@
diff --git a/resources/assets/js/components/main-wrapper/extra/album-info.vue b/resources/assets/js/components/main-wrapper/extra/album-info.vue
index 1a68d07e..85ee04a1 100644
--- a/resources/assets/js/components/main-wrapper/extra/album-info.vue
+++ b/resources/assets/js/components/main-wrapper/extra/album-info.vue
@@ -7,16 +7,13 @@
-
+
@@ -57,6 +54,16 @@ export default {
},
},
+ computed: {
+ showSummary() {
+ return this.mode !== 'full' && !this.showingFullWiki;
+ },
+
+ showFull() {
+ return this.mode === 'full' || this.showingFullWiki;
+ },
+ },
+
methods: {
/**
* Shuffle all songs in the current album.
diff --git a/resources/assets/js/components/main-wrapper/extra/artist-info.vue b/resources/assets/js/components/main-wrapper/extra/artist-info.vue
index 94c6d480..83e1304d 100644
--- a/resources/assets/js/components/main-wrapper/extra/artist-info.vue
+++ b/resources/assets/js/components/main-wrapper/extra/artist-info.vue
@@ -12,11 +12,10 @@
class="cool-guys-posing cover">
@@ -47,6 +46,16 @@ export default {
},
},
+ computed: {
+ showSummary() {
+ return this.mode !== 'full' && !this.showingFullBio;
+ },
+
+ showFull() {
+ return this.mode === 'full' || this.showingFullBio;
+ }
+ },
+
methods: {
/**
* Shuffle all songs performed by the current song's artist.
diff --git a/resources/assets/js/components/main-wrapper/extra/index.vue b/resources/assets/js/components/main-wrapper/extra/index.vue
index b336a666..b38a6856 100644
--- a/resources/assets/js/components/main-wrapper/extra/index.vue
+++ b/resources/assets/js/components/main-wrapper/extra/index.vue
@@ -14,24 +14,21 @@
-
+
-
+ v-show="currentView === 'artistInfo'"/>
-
+ v-show="currentView === 'albumInfo'"/>
-
+ v-show="currentView === 'youtube'"/>
diff --git a/resources/assets/js/components/main-wrapper/extra/lyrics.vue b/resources/assets/js/components/main-wrapper/extra/lyrics.vue
index 460fd29f..d3ba7247 100644
--- a/resources/assets/js/components/main-wrapper/extra/lyrics.vue
+++ b/resources/assets/js/components/main-wrapper/extra/lyrics.vue
@@ -1,7 +1,7 @@
-
+
No lyrics found. Are you not listening to Bach?
diff --git a/resources/assets/js/components/main-wrapper/extra/youtube.vue b/resources/assets/js/components/main-wrapper/extra/youtube.vue
index 8238aab8..a713e69d 100644
--- a/resources/assets/js/components/main-wrapper/extra/youtube.vue
+++ b/resources/assets/js/components/main-wrapper/extra/youtube.vue
@@ -1,7 +1,7 @@
-
+
@@ -12,7 +12,7 @@
Load More
-
Play a song to retreive related YouTube videos.
+
Play a song to retrieve related YouTube videos.
Loading…
diff --git a/resources/assets/js/components/main-wrapper/index.vue b/resources/assets/js/components/main-wrapper/index.vue
index 5dd26d93..c17cc9b4 100644
--- a/resources/assets/js/components/main-wrapper/index.vue
+++ b/resources/assets/js/components/main-wrapper/index.vue
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/album.vue b/resources/assets/js/components/main-wrapper/main-content/album.vue
index 6f469cd9..cd01f3b3 100644
--- a/resources/assets/js/components/main-wrapper/main-content/album.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/album.vue
@@ -4,16 +4,12 @@
{{ album.name }}
-
-
+
+
by
- {{ album.artist.name }}
+ {{ album.artist.name }}
{{ album.artist.name }}
•
{{ meta.songCount | pluralize('song') }}
@@ -22,11 +18,11 @@
•
- Info
+ Info
•
- Download
+ Download
@@ -42,19 +38,17 @@
{{ showingAddToMenu ? 'Cancel' : 'Add To…' }}
-
+
-
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/albums.vue b/resources/assets/js/components/main-wrapper/main-content/albums.vue
index 4fe4f68c..0d4be914 100644
--- a/resources/assets/js/components/main-wrapper/main-content/albums.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/albums.vue
@@ -2,13 +2,13 @@
Albums
-
+
-
-
-
-
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/artist.vue b/resources/assets/js/components/main-wrapper/main-content/artist.vue
index 2298aafc..96759ab0 100644
--- a/resources/assets/js/components/main-wrapper/main-content/artist.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/artist.vue
@@ -4,12 +4,8 @@
{{ artist.name }}
-
-
+
+
{{ artist.albums.length | pluralize('album') }}
@@ -20,12 +16,12 @@
•
- Info
+ Info
•
- Download
+ Download
@@ -41,19 +37,17 @@
{{ showingAddToMenu ? 'Cancel' : 'Add To…' }}
-
+
-
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/artists.vue b/resources/assets/js/components/main-wrapper/main-content/artists.vue
index ca38e0bf..d5bd4b9c 100644
--- a/resources/assets/js/components/main-wrapper/main-content/artists.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/artists.vue
@@ -2,13 +2,13 @@
Artists
-
+
-
-
-
-
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/favorites.vue b/resources/assets/js/components/main-wrapper/main-content/favorites.vue
index 746edcc3..4e7cdb89 100644
--- a/resources/assets/js/components/main-wrapper/main-content/favorites.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/favorites.vue
@@ -2,12 +2,8 @@
Songs You Love
-
-
+
+
{{ meta.songCount | pluralize('song') }}
@@ -15,8 +11,7 @@
{{ meta.totalLength }}
•
-
+
Download
@@ -40,12 +35,11 @@
-
+ :settings="{ canLike: false }"/>
-
+
Start loving!
diff --git a/resources/assets/js/components/main-wrapper/main-content/home.vue b/resources/assets/js/components/main-wrapper/main-content/home.vue
index 79b8799a..a1ccd82b 100644
--- a/resources/assets/js/components/main-wrapper/main-content/home.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/home.vue
@@ -13,7 +13,7 @@
+ is="song-item"/>
@@ -24,7 +24,7 @@
+ is="song-item"/>
@@ -39,14 +39,12 @@
@@ -55,22 +53,22 @@
diff --git a/resources/assets/js/components/main-wrapper/main-content/index.vue b/resources/assets/js/components/main-wrapper/main-content/index.vue
index 0a7ac6b2..a5a61622 100644
--- a/resources/assets/js/components/main-wrapper/main-content/index.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/index.vue
@@ -1,19 +1,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/playlist.vue b/resources/assets/js/components/main-wrapper/main-content/playlist.vue
index 4cacfc01..fd4b12c0 100644
--- a/resources/assets/js/components/main-wrapper/main-content/playlist.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/playlist.vue
@@ -2,12 +2,8 @@
{{ playlist.name }}
-
-
+
+
{{ meta.songCount | pluralize('song') }}
@@ -15,8 +11,7 @@
{{ meta.totalLength }}
•
-
+
Download
@@ -42,11 +37,11 @@
Playlist
-
+
-
+
The playlist is currently empty. You can fill it up by dragging songs into its name in the sidebar,
diff --git a/resources/assets/js/components/main-wrapper/main-content/queue.vue b/resources/assets/js/components/main-wrapper/main-content/queue.vue
index 72b36e9c..65b84e4e 100644
--- a/resources/assets/js/components/main-wrapper/main-content/queue.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/queue.vue
@@ -2,12 +2,8 @@
Current Queue
-
-
+
+
{{ meta.songCount | pluralize('song') }}
@@ -35,12 +31,11 @@
-
+ :settings="{ canQueue: false }"/>
-
+
Empty spaces. Abandoned places.
diff --git a/resources/assets/js/components/main-wrapper/main-content/songs.vue b/resources/assets/js/components/main-wrapper/main-content/songs.vue
index efaa1956..7d0547c4 100644
--- a/resources/assets/js/components/main-wrapper/main-content/songs.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/songs.vue
@@ -2,12 +2,8 @@
All Songs
-
-
+
+
{{ meta.songCount | pluralize('song') }}
@@ -32,11 +28,11 @@
{{ showingAddToMenu ? 'Cancel' : 'Add To…' }}
-
+
-
+
diff --git a/resources/assets/js/components/main-wrapper/main-content/users.vue b/resources/assets/js/components/main-wrapper/main-content/users.vue
index 3e69f11c..e4a112ec 100644
--- a/resources/assets/js/components/main-wrapper/main-content/users.vue
+++ b/resources/assets/js/components/main-wrapper/main-content/users.vue
@@ -2,12 +2,8 @@
Users
-
-
+
+
@@ -39,9 +35,9 @@
-
+
-
+
diff --git a/resources/assets/js/components/main-wrapper/sidebar/index.vue b/resources/assets/js/components/main-wrapper/sidebar/index.vue
index 490d4084..d8739ff5 100644
--- a/resources/assets/js/components/main-wrapper/sidebar/index.vue
+++ b/resources/assets/js/components/main-wrapper/sidebar/index.vue
@@ -5,48 +5,47 @@
-
+
@@ -75,6 +74,12 @@ export default {
};
},
+ computed: {
+ latestVersionUrl() {
+ return 'https://github.com/phanan/koel/releases/tag/' + this.sharedState.latestVersion;
+ },
+ },
+
methods: {
/**
* Remove the droppable state when a dragleave event occurs on the playlist's DOM element.
diff --git a/resources/assets/js/components/main-wrapper/sidebar/playlist-item.vue b/resources/assets/js/components/main-wrapper/sidebar/playlist-item.vue
index 5b6ba2b9..0e2b0e80 100644
--- a/resources/assets/js/components/main-wrapper/sidebar/playlist-item.vue
+++ b/resources/assets/js/components/main-wrapper/sidebar/playlist-item.vue
@@ -1,6 +1,6 @@
-
-
+
diff --git a/resources/assets/js/components/modals/edit-songs-form.vue b/resources/assets/js/components/modals/edit-songs-form.vue
index 23480a47..75060518 100644
--- a/resources/assets/js/components/modals/edit-songs-form.vue
+++ b/resources/assets/js/components/modals/edit-songs-form.vue
@@ -3,7 +3,7 @@
@@ -159,6 +159,15 @@
return every(this.songs, song => song.album.id === this.songs[0].album.id);
},
+ /**
+ * URL of the cover to display.
+ *
+ * @return {string}
+ */
+ coverUrl() {
+ return this.inSameAlbum ? this.songs[0].album.cover : '/public/img/covers/unknown-album.png';
+ },
+
/**
* Determine the compilation state of the songs.
*
diff --git a/resources/assets/js/components/shared/album-item.vue b/resources/assets/js/components/shared/album-item.vue
index 55a9a4f9..4f77a3b5 100644
--- a/resources/assets/js/components/shared/album-item.vue
+++ b/resources/assets/js/components/shared/album-item.vue
@@ -1,15 +1,15 @@
-
+
-
+
-
+
diff --git a/resources/assets/js/components/shared/artist-item.vue b/resources/assets/js/components/shared/artist-item.vue
index 95284f96..15849382 100644
--- a/resources/assets/js/components/shared/artist-item.vue
+++ b/resources/assets/js/components/shared/artist-item.vue
@@ -1,13 +1,13 @@
-
+
@@ -18,7 +18,7 @@
{{ artist.playCount | pluralize('play') }}
-
+
diff --git a/resources/assets/js/components/shared/home-song-item.vue b/resources/assets/js/components/shared/home-song-item.vue
index d5e67ab5..e3a8c5ac 100644
--- a/resources/assets/js/components/shared/home-song-item.vue
+++ b/resources/assets/js/components/shared/home-song-item.vue
@@ -3,21 +3,18 @@
:class="{ playing: song.playbackState === 'playing' || song.playbackState === 'paused' }"
@dblclick.prevent="play"
>
-
+
-
+
{{ song.title }}
- {{ song.artist.name }}
- -
- {{ song.playCount | pluralize('play') }}
-
+ {{ song.artist.name }}
+ - {{ song.playCount | pluralize('play') }}
diff --git a/resources/assets/js/components/shared/overlay.vue b/resources/assets/js/components/shared/overlay.vue
index b950cc8f..f78dfd68 100644
--- a/resources/assets/js/components/shared/overlay.vue
+++ b/resources/assets/js/components/shared/overlay.vue
@@ -1,13 +1,13 @@
-
-
-
-
-
+
+
+
+
+
-
+
Close
diff --git a/resources/assets/js/components/shared/song-item.vue b/resources/assets/js/components/shared/song-item.vue
index a2e166ca..315555de 100644
--- a/resources/assets/js/components/shared/song-item.vue
+++ b/resources/assets/js/components/shared/song-item.vue
@@ -19,8 +19,8 @@
{{ song.album.name }}
{{ song.fmtLength }}
-
-
+
+
diff --git a/resources/assets/js/components/shared/song-list.vue b/resources/assets/js/components/shared/song-list.vue
index 73085aa3..af942355 100644
--- a/resources/assets/js/components/shared/song-list.vue
+++ b/resources/assets/js/components/shared/song-list.vue
@@ -11,36 +11,36 @@
#
-
-
+
+
Title
-
-
+
+
Artist
-
-
+
+
Album
-
-
+
+
Time
-
-
+
+
-
+
-
-
+
+
diff --git a/resources/assets/js/components/shared/song-menu.vue b/resources/assets/js/components/shared/song-menu.vue
index e5d73957..73b660fc 100644
--- a/resources/assets/js/components/shared/song-menu.vue
+++ b/resources/assets/js/components/shared/song-menu.vue
@@ -1,7 +1,7 @@