From 2e334ca90924450ac0a6066615b9de2968a80852 Mon Sep 17 00:00:00 2001 From: Daan Wijns Date: Fri, 29 Jan 2021 11:42:20 +0100 Subject: [PATCH] 0.5.5 (#125) --- README.md | 2 +- package-lock.json | 109 +++++++++--- package.json | 10 +- src/components/Core/SpeedCard.vue | 22 ++- src/components/Core/StorageCard.vue | 2 +- src/components/Modals/ChangeLocationModal.vue | 14 +- src/components/Modals/ConfirmDeleteModal.vue | 11 +- src/components/Modals/RenameModal.vue | 10 +- src/components/Modals/SpeedLimitModal.vue | 112 +++++++++++++ .../Modals/TorrentDetailModal/Tabs/Info.vue | 24 +++ src/components/Navbar/TopActions.vue | 118 ++++--------- src/components/Torrent/DesktopCard.vue | 2 +- .../Torrent/TorrentRightClickMenu.vue | 48 +++++- src/filters.js | 2 +- src/models/Torrent.js | 3 + src/services/qbit.js | 16 +- src/store/mutations.js | 7 +- src/styles/colors.scss | 2 +- src/views/Dashboard.vue | 158 +++++++++++++----- tests/unit/SpeedCard.spec.js | 20 ++- 20 files changed, 507 insertions(+), 185 deletions(-) create mode 100644 src/components/Modals/SpeedLimitModal.vue diff --git a/README.md b/README.md index cb6c914c..b53e168e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The sleekest looking WebUI for qBittorrent made with Vue.js! ## Screenshots -![Desktop screenshot](https://imgur.com/BgqO5Zp.png) +![Desktop screenshot](https://imgur.com/IUkaDnI.png) | | | | | :--------------------------------: | :--------------------------------: | :--------------------------------: | diff --git a/package-lock.json b/package-lock.json index 4dbd4750..6fe81508 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vuetorrent", - "version": "0.5.4", + "version": "0.5.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3634,6 +3634,12 @@ "jest-diff": "^24.3.0" } }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -6352,6 +6358,12 @@ "caller-callsite": "^2.0.0" } }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", @@ -7595,6 +7607,15 @@ "ms": "^2.1.1" } }, + "decache": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.0.tgz", + "integrity": "sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==", + "dev": true, + "requires": { + "callsite": "^1.0.0" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -17366,9 +17387,9 @@ "integrity": "sha512-sT6tuVTLBwfH3TA7azecDNS/W70bmz14ZJI7aE7QIqcG9I6OywyH7x3hcOeY1v1DxttI8Svc5RuYj4Dd+A5F4g==" }, "vue-cli-plugin-vuetify": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.0.9.tgz", - "integrity": "sha512-J4fzpz27OmCCAA3CI56ulYsUrZ859dQAh58Z9XZilY03kd/M+svLlPkK45cBIrGGfjSqQ40oyWezA3NiPBEG8g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.1.0.tgz", + "integrity": "sha512-cvJR2+6U1PS4UUP7NnuylWfxM3LrzKnusOgrCZUyzr5abyDxf/t0TZy5EqfJwAa9/TsIO0W4gOoaoy/f4Yw0aQ==", "dev": true, "requires": { "null-loader": "^3.0.0", @@ -17524,15 +17545,10 @@ } } }, - "vue-observe-visibility": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz", - "integrity": "sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==" - }, "vue-router": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.9.tgz", - "integrity": "sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", + "integrity": "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" }, "vue-style-loader": { "version": "4.1.2", @@ -17597,19 +17613,72 @@ "integrity": "sha512-i2/Df0U0sedlaCbft4NMbna7WXbTCBhKVYTMjBrLVzrYTTWqzSO7ZCxLuDRY7MjwQhn7AOec7ent9U/NyIICqA==" }, "vuetify-loader": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/vuetify-loader/-/vuetify-loader-1.6.0.tgz", - "integrity": "sha512-1bx3YeZ712dT1+QMX+XSFlP0O5k5O5Ui9ysBBmUZ9bWkAEHWZJQI9soI+qG5qmeFxUC0L9QYMCIKP0hOL/pf3Q==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/vuetify-loader/-/vuetify-loader-1.7.1.tgz", + "integrity": "sha512-zRfgNxi/SeE8Nh4Vhw3aIJftYrcJWd3PqPn8+cB/F9CgBVhJo5qp2BuFL70k33G1kTaBvcjYgM+vZc9nvvU3xg==", "dev": true, "requires": { - "file-loader": "^4.0.0", - "loader-utils": "^1.2.0" + "decache": "^4.6.0", + "file-loader": "^6.2.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "vuex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", - "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==" + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" }, "vuex-persist": { "version": "3.1.3", diff --git a/package.json b/package.json index e6c0ffa4..f7807984 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vuetorrent", - "version": "0.5.4", + "version": "0.5.5", "private": true, "scripts": { "serve": "vue-cli-service serve", @@ -24,12 +24,12 @@ "vue": "^2.6.12", "vue-apexcharts": "^1.6.0", "vue-context": "^5.2.0", - "vue-router": "^3.4.9", + "vue-router": "^3.5.1", "vue-toastification": "^1.7.11", "vue2-perfect-scrollbar": "^1.5.0", "vuedraggable": "^2.24.3", "vuetify": "^2.4.3", - "vuex": "^3.6.0", + "vuex": "^3.6.2", "vuex-persist": "^3.1.3" }, "devDependencies": { @@ -51,9 +51,9 @@ "node-sass": "^4.14.1", "sass": "^1.32.5", "sass-loader": "^8.0.2", - "vue-cli-plugin-vuetify": "^2.0.9", + "vue-cli-plugin-vuetify": "^2.1.0", "vue-template-compiler": "^2.6.12", - "vuetify-loader": "^1.6.0" + "vuetify-loader": "^1.7.1" }, "browserslist": [ "> 1%", diff --git a/src/components/Core/SpeedCard.vue b/src/components/Core/SpeedCard.vue index f06dda9a..aaf4f9e7 100644 --- a/src/components/Core/SpeedCard.vue +++ b/src/components/Core/SpeedCard.vue @@ -11,16 +11,16 @@ {{ icon }} - + - {{ value | getDataValue(2) }} + {{ value | getSpeedValue }} - + {{ value | getDataUnit(1) }}/s @@ -31,6 +31,16 @@ @@ -40,8 +50,4 @@ export default { padding: 32px 16px !important; font-size: 1.05em; } - -.speedUnits { - font-size: .8em !important; -} \ No newline at end of file diff --git a/src/components/Core/StorageCard.vue b/src/components/Core/StorageCard.vue index 75f916a4..875f6857 100644 --- a/src/components/Core/StorageCard.vue +++ b/src/components/Core/StorageCard.vue @@ -13,7 +13,7 @@ {{ value | getDataValue(2) }} - + {{ value | getDataUnit }} diff --git a/src/components/Modals/ChangeLocationModal.vue b/src/components/Modals/ChangeLocationModal.vue index f01f5359..c2905e2a 100644 --- a/src/components/Modals/ChangeLocationModal.vue +++ b/src/components/Modals/ChangeLocationModal.vue @@ -8,7 +8,7 @@ -

Change Torrent Location

+

Change Location

@@ -18,13 +18,13 @@ @@ -49,7 +49,7 @@ right @click="close" > - close + {{ mdiClose }} @@ -58,9 +58,10 @@ diff --git a/src/components/Modals/TorrentDetailModal/Tabs/Info.vue b/src/components/Modals/TorrentDetailModal/Tabs/Info.vue index ed257511..e599d89d 100644 --- a/src/components/Modals/TorrentDetailModal/Tabs/Info.vue +++ b/src/components/Modals/TorrentDetailModal/Tabs/Info.vue @@ -170,6 +170,30 @@ {{ torrent.auto_tmm }} + + + Share Limit + + + {{ torrent.ratio_limit }} + + + + + Download Limit + + + {{ torrent.dl_limit | getDataValue }} {{ torrent.dl_limit | getDataUnit }}/s + + + + + Upload Limit + + + {{ torrent.up_limit | getDataValue }} {{ torrent.up_limit | getDataUnit }}/s + + diff --git a/src/components/Navbar/TopActions.vue b/src/components/Navbar/TopActions.vue index 79147c5b..891d0056 100644 --- a/src/components/Navbar/TopActions.vue +++ b/src/components/Navbar/TopActions.vue @@ -1,60 +1,5 @@