diff --git a/app/client/package.json b/app/client/package.json
index 74ff44f..f1189f7 100644
--- a/app/client/package.json
+++ b/app/client/package.json
@@ -1,6 +1,6 @@
{
"name": "client",
- "version": "0.1.0",
+ "version": "1.0.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
diff --git a/app/client/src/components/LibraryHistory.vue b/app/client/src/components/LibraryHistory.vue
new file mode 100644
index 0000000..a3f25c6
--- /dev/null
+++ b/app/client/src/components/LibraryHistory.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/client/src/views/DownloadsPage.vue b/app/client/src/views/DownloadsPage.vue
index d345803..6957cc2 100644
--- a/app/client/src/views/DownloadsPage.vue
+++ b/app/client/src/views/DownloadsPage.vue
@@ -54,11 +54,11 @@
{{download.track.title}}
{{download.track.artistString}}
-
+
mdi-delete
-
+
@@ -79,7 +79,6 @@ export default {
//Remove download from queue
async deleteDownload(i) {
await this.$axios.delete(`/downloads/${i}`);
- this.$root.getDownloads();
}
}
}
diff --git a/app/client/src/views/Library.vue b/app/client/src/views/Library.vue
index e92b811..37093ee 100644
--- a/app/client/src/views/Library.vue
+++ b/app/client/src/views/Library.vue
@@ -15,6 +15,9 @@
Playlists
+
+ History
+
@@ -37,6 +40,11 @@
+
+
+
+
+
@@ -47,11 +55,12 @@ import LibraryTracks from '@/components/LibraryTracks.vue';
import LibraryAlbums from '@/components/LibraryAlbums.vue';
import LibraryArtists from '@/components/LibraryArtists.vue';
import LibraryPlaylists from '@/components/LibraryPlaylists.vue';
+import LibraryHistory from '@/components/LibraryHistory.vue';
export default {
name: 'Library',
components: {
- LibraryTracks, LibraryAlbums, LibraryArtists, LibraryPlaylists
+ LibraryTracks, LibraryAlbums, LibraryArtists, LibraryPlaylists, LibraryHistory
},
props: {
routeTab: {
diff --git a/app/package.json b/app/package.json
index 8282ed2..ae1fff7 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "",
"main": "background.js",
"scripts": {
diff --git a/app/src/downloads.js b/app/src/downloads.js
index d437834..37ddeee 100644
--- a/app/src/downloads.js
+++ b/app/src/downloads.js
@@ -163,9 +163,11 @@ class Downloads {
if (index == -1) {
this.downloads = [];
await new Promise((res, rej) => {
- this.db.remove({state: 0}, {}, (e) => {});
+ this.db.remove({state: 0}, {multi: true}, (e) => {});
res();
- })
+ });
+
+ if (this.qucb) this.qucb();
return;
}
@@ -176,6 +178,8 @@ class Downloads {
res();
});
this.downloads.splice(index, 1);
+
+ if (this.qucb) this.qucb();
}
}
diff --git a/app/src/server.js b/app/src/server.js
index 24de9fe..1b4e5c6 100644
--- a/app/src/server.js
+++ b/app/src/server.js
@@ -193,6 +193,17 @@ app.get('/albums/:id', async (req, res) => {
res.send(albums);
})
+//Get tracks from listening history
+app.get('/history', async (req, res) => {
+ let data = await deezer.callApi('deezer.pageProfile', {
+ nb: 200,
+ tab: "history",
+ user_id: deezer.userId.toString()
+ });
+ let tracks = data.results.TAB.history.data.map((t) => new Track(t));
+ res.send(tracks);
+});
+
//Search, q as query parameter
app.get('/search', async (req, res) => {
let data = await deezer.callApi('deezer.pageSearch', {query: req.query.q, nb: 100});
@@ -496,27 +507,24 @@ async function createServer(electron = false, ecb) {
downloads: downloads.downloads
});
});
-
- //Emit download progress updates
- setInterval(() => {
- sockets.forEach((s) => {
- if (!downloads.download) {
- s.emit('download', null);
- return;
- }
-
- s.emit('download', {
- id: downloads.download.id,
- size: downloads.download.size,
- downloaded: downloads.download.downloaded,
- track: downloads.download.track,
- path: downloads.download.path
- });
- });
- }, 500);
-
});
await downloads.load();
+ //Emit download progress updates
+ setInterval(() => {
+ sockets.forEach((s) => {
+ if (!downloads.download) {
+ s.emit('download', null);
+ return;
+ }
+ s.emit('download', {
+ id: downloads.download.id,
+ size: downloads.download.size,
+ downloaded: downloads.download.downloaded,
+ track: downloads.download.track,
+ path: downloads.download.path
+ });
+ });
+ }, 350);
//Start server
server.on('error', (e) => {
diff --git a/package.json b/package.json
index e7ad220..5db9e0e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "",
"scripts": {
"pack": "electron-builder --dir",