-
+
@@ -167,7 +167,7 @@
-
+
|
diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue
index fdf36f88a..fc6fb648c 100644
--- a/front/src/components/Sidebar.vue
+++ b/front/src/components/Sidebar.vue
@@ -74,10 +74,10 @@
- ![]()
+
@@ -155,7 +155,6 @@ import { mapState, mapActions, mapGetters } from "vuex"
import Logo from "@/components/Logo"
import SearchBar from "@/components/audio/SearchBar"
-import backend from "@/audio/backend"
import $ from "jquery"
@@ -168,7 +167,6 @@ export default {
data() {
return {
selectedTab: "library",
- backend: backend,
isCollapsed: true,
fetchInterval: null,
exploreExpanded: false,
diff --git a/front/src/components/audio/ChannelCard.vue b/front/src/components/audio/ChannelCard.vue
new file mode 100644
index 000000000..6cb1ae416
--- /dev/null
+++ b/front/src/components/audio/ChannelCard.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+ {{ object.artist.name }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/ChannelEntries.vue b/front/src/components/audio/ChannelEntries.vue
new file mode 100644
index 000000000..99ff45942
--- /dev/null
+++ b/front/src/components/audio/ChannelEntries.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/ChannelEntryCard.vue b/front/src/components/audio/ChannelEntryCard.vue
new file mode 100644
index 000000000..1bdbd6839
--- /dev/null
+++ b/front/src/components/audio/ChannelEntryCard.vue
@@ -0,0 +1,63 @@
+
+
+ ![]()
+ 
+
+
+
+ {{ entry.title|truncate(30) }}
+
+
+
+ ·
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/ChannelSerieCard.vue b/front/src/components/audio/ChannelSerieCard.vue
new file mode 100644
index 000000000..7d4e246e5
--- /dev/null
+++ b/front/src/components/audio/ChannelSerieCard.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+ {{ serie.title|truncate(30) }}
+
+
+
+
+ %{ count } episode
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/ChannelSeries.vue b/front/src/components/audio/ChannelSeries.vue
new file mode 100644
index 000000000..0de82fbd3
--- /dev/null
+++ b/front/src/components/audio/ChannelSeries.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/ChannelsWidget.vue b/front/src/components/audio/ChannelsWidget.vue
new file mode 100644
index 000000000..39fe5ffe1
--- /dev/null
+++ b/front/src/components/audio/ChannelsWidget.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue
index 4c9127f4e..822593aba 100644
--- a/front/src/components/audio/Player.vue
+++ b/front/src/components/audio/Player.vue
@@ -10,7 +10,7 @@
@@ -21,15 +21,15 @@
- {{ currentTrack.artist.name }} /
+ {{ currentTrack.artist.name }} /
{{ currentTrack.album.title }}
-
+
@@ -37,7 +37,7 @@
{{ currentTrack.title }}
- {{ currentTrack.artist.name }} / {{ currentTrack.album.title }}
+ {{ currentTrack.artist.name }} / {{ currentTrack.album.title }}
@@ -703,19 +703,22 @@ export default {
// If the session is playing as a PWA, populate the notification
// with details from the track
if ('mediaSession' in navigator) {
- navigator.mediaSession.metadata = new MediaMetadata({
- title: this.currentTrack.title,
- artist: this.currentTrack.artist.name,
- album: this.currentTrack.album.title,
- artwork: [
- { src: this.currentTrack.album.cover.original, sizes: '96x96', type: 'image/png' },
- { src: this.currentTrack.album.cover.original, sizes: '128x128', type: 'image/png' },
- { src: this.currentTrack.album.cover.original, sizes: '192x192', type: 'image/png' },
- { src: this.currentTrack.album.cover.original, sizes: '256x256', type: 'image/png' },
- { src: this.currentTrack.album.cover.original, sizes: '384x384', type: 'image/png' },
- { src: this.currentTrack.album.cover.original, sizes: '512x512', type: 'image/png' },
+ let metatata = {
+ title: this.currentTrack.title,
+ artist: this.currentTrack.artist.name,
+ }
+ if (this.currentTrack.album) {
+ metadata.album = this.currentTrack.album.title
+ metadata.artwork = [
+ { src: this.currentTrack.album.cover.original, sizes: '96x96', type: 'image/png' },
+ { src: this.currentTrack.album.cover.original, sizes: '128x128', type: 'image/png' },
+ { src: this.currentTrack.album.cover.original, sizes: '192x192', type: 'image/png' },
+ { src: this.currentTrack.album.cover.original, sizes: '256x256', type: 'image/png' },
+ { src: this.currentTrack.album.cover.original, sizes: '384x384', type: 'image/png' },
+ { src: this.currentTrack.album.cover.original, sizes: '512x512', type: 'image/png' },
]
- });
+ }
+ navigator.mediaSession.metadata = new MediaMetadata(metadata);
}
},
immediate: false
diff --git a/front/src/components/audio/SearchBar.vue b/front/src/components/audio/SearchBar.vue
index ed18805aa..51e78f1a3 100644
--- a/front/src/components/audio/SearchBar.vue
+++ b/front/src/components/audio/SearchBar.vue
@@ -109,7 +109,11 @@ export default {
return r.title
},
getDescription (r) {
- return `${r.album.artist.name} - ${r.album.title}`
+ if (r.album) {
+ return `${r.album.artist.name} - ${r.album.title}`
+ } else {
+ return r.artist.name
+ }
},
getId (t) {
return t.id
diff --git a/front/src/components/audio/album/Widget.vue b/front/src/components/audio/album/Widget.vue
index b0d381a68..fc9cebaeb 100644
--- a/front/src/components/audio/album/Widget.vue
+++ b/front/src/components/audio/album/Widget.vue
@@ -5,9 +5,6 @@
{{ count }}
-
-
-
+
+
+
+
@@ -68,7 +71,7 @@ export default {
self.previousPage = response.data.previous
self.nextPage = response.data.next
self.isLoading = false
- self.albums = response.data.results
+ self.albums = [...self.albums, ...response.data.results]
self.count = response.data.count
}, error => {
self.isLoading = false
diff --git a/front/src/components/audio/artist/Card.vue b/front/src/components/audio/artist/Card.vue
index bcb66e95f..f73b7dbb1 100644
--- a/front/src/components/audio/artist/Card.vue
+++ b/front/src/components/audio/artist/Card.vue
@@ -22,7 +22,6 @@
-
-
-
diff --git a/front/src/components/auth/Settings.vue b/front/src/components/auth/Settings.vue
index 269e7ac29..ff1e78b3d 100644
--- a/front/src/components/auth/Settings.vue
+++ b/front/src/components/auth/Settings.vue
@@ -23,6 +23,7 @@
+
|
-
-
-
- {{ scope.obj.album.title }}
+
+
+
+
+ {{ scope.obj.album.title }}
+
|
diff --git a/front/src/components/mixins/Report.vue b/front/src/components/mixins/Report.vue
index 29eabb996..8746fa008 100644
--- a/front/src/components/mixins/Report.vue
+++ b/front/src/components/mixins/Report.vue
@@ -1,7 +1,7 @@
diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue
new file mode 100644
index 000000000..927446649
--- /dev/null
+++ b/front/src/views/auth/ProfileBase.vue
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/views/auth/ProfileOverview.vue b/front/src/views/auth/ProfileOverview.vue
new file mode 100644
index 000000000..cf65e42b9
--- /dev/null
+++ b/front/src/views/auth/ProfileOverview.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+ This user shared the following libraries.
+
+
+
+
+
+
diff --git a/front/src/views/channels/DetailBase.vue b/front/src/views/channels/DetailBase.vue
new file mode 100644
index 000000000..e61aab28e
--- /dev/null
+++ b/front/src/views/channels/DetailBase.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+ ![]()
+
+
+
+
+
+
+
+
+ %{ count } episode
+
+
+ · %{ count } subscriber
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/src/views/channels/DetailEpisodes.vue b/front/src/views/channels/DetailEpisodes.vue
new file mode 100644
index 000000000..ab5920eb4
--- /dev/null
+++ b/front/src/views/channels/DetailEpisodes.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/front/src/views/channels/DetailOverview.vue b/front/src/views/channels/DetailOverview.vue
new file mode 100644
index 000000000..9596e28d4
--- /dev/null
+++ b/front/src/views/channels/DetailOverview.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
diff --git a/front/src/views/content/libraries/FilesTable.vue b/front/src/views/content/libraries/FilesTable.vue
index 736421e57..a00442d1a 100644
--- a/front/src/views/content/libraries/FilesTable.vue
+++ b/front/src/views/content/libraries/FilesTable.vue
@@ -133,6 +133,7 @@
|
|