From 0e02df23457dfba8eb35a1375df8927a6be2ff98 Mon Sep 17 00:00:00 2001 From: Daan Wijns Date: Sat, 29 Aug 2020 09:04:35 +0200 Subject: [PATCH] Development (#25) --- .github/workflows/prod-deploy copy.yml | 28 --- .../workflows/{dev-deploy.yml => release.yml} | 24 +-- README.md | 2 +- package-lock.json | 132 +++++++------ package.json | 10 +- src/App.vue | 3 +- src/assets/styles.scss | 59 ++++++ src/assets/styles/SettingsTab.scss | 17 ++ src/components/Modals/OldUIModal.vue | 99 ---------- .../Modals/SettingsModal/Tabs/BitTorrent.vue | 16 +- .../Modals/SettingsModal/Tabs/Downloads.vue | 21 +- .../Modals/SettingsModal/Tabs/VueTorrent.vue | 10 +- .../Modals/SettingsModal/Tabs/WebUI.vue | 7 +- src/components/SettingsModal/BitTorrent.vue | 185 ------------------ src/components/SettingsModal/Downloads.vue | 115 ----------- .../SettingsModal/SettingsModal.vue | 75 ------- src/components/SettingsModal/WebUI.vue | 88 --------- src/components/Torrent.vue | 179 ++++++++--------- src/filters.js | 1 - src/helpers.js | 107 ++++++++++ src/main.js | 5 +- src/models/Status.js | 1 + src/models/torrent.js | 10 +- src/views/Dashboard.vue | 109 +---------- 24 files changed, 372 insertions(+), 931 deletions(-) delete mode 100644 .github/workflows/prod-deploy copy.yml rename .github/workflows/{dev-deploy.yml => release.yml} (53%) create mode 100644 src/assets/styles/SettingsTab.scss delete mode 100644 src/components/Modals/OldUIModal.vue delete mode 100644 src/components/SettingsModal/BitTorrent.vue delete mode 100644 src/components/SettingsModal/Downloads.vue delete mode 100644 src/components/SettingsModal/SettingsModal.vue delete mode 100644 src/components/SettingsModal/WebUI.vue diff --git a/.github/workflows/prod-deploy copy.yml b/.github/workflows/prod-deploy copy.yml deleted file mode 100644 index b309e188..00000000 --- a/.github/workflows/prod-deploy copy.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Build & Release -on: - push: - branches: - - master -jobs: - github-release-production: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Install & build - uses: actions/setup-node@master - - run: npm install - - run: npm run build - - name: Zip it - uses: montudor/action-zip@v0.1.0 - with: - args: zip -qq -r ./release.zip ./vuetorrent - - name: Get Version - run: echo ::set-env name=VERSION::$(jq -r .version package.json) - - name: Push release - uses: 'marvinpinto/action-automatic-releases@latest' - with: - repo_token: '${{ secrets.GITHUB_TOKEN }}' - automatic_release_tag: 'prod-v${{ env.VERSION }}' - prerelease: true - title: 'Stable Build v${{ env.VERSION }}' - files: release.zip diff --git a/.github/workflows/dev-deploy.yml b/.github/workflows/release.yml similarity index 53% rename from .github/workflows/dev-deploy.yml rename to .github/workflows/release.yml index fe619e5c..ad58fe02 100644 --- a/.github/workflows/dev-deploy.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,10 @@ -name: Build & Release +name: Build release on: - push: - branches: - - development + release: + types: [published, edited] + jobs: - github-release-development: + build-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@master @@ -18,10 +18,12 @@ jobs: args: zip -qq -r ./release.zip ./vuetorrent - name: Get Version run: echo ::set-env name=VERSION::$(jq -r .version package.json) - - name: Push release - uses: 'marvinpinto/action-automatic-releases@latest' + - name: Upload + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - repo_token: '${{ secrets.GITHUB_TOKEN }}' - automatic_release_tag: 'dev-v${{ env.VERSION }}' - title: 'Development Build v${{ env.VERSION }}' - files: release.zip + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./release.zip + asset_name: release.zip + asset_content_type: application/zip diff --git a/README.md b/README.md index 4a1decb8..d37a31d9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The sleekest looking WEBUI for qBittorrent made with Vuejs! ## Screenshots -

+

w Desktop Screenshot

diff --git a/package-lock.json b/package-lock.json index b14f59bd..ef3ef31e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vuetorrent", - "version": "0.1.1", + "version": "0.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1519,10 +1519,13 @@ "dev": true }, "serialize-javascript": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", - "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "source-map": { "version": "0.6.1", @@ -1995,9 +1998,9 @@ } }, "apexcharts": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.19.3.tgz", - "integrity": "sha512-pECgHHNR/etDW2SLUTA58ElrrEyUrhQsEgSiBJCLTwgJ8GMPHA/uSiI5pUJ2jy9+v2FY8Tj+8suH4CCCl3T/pQ==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.20.0.tgz", + "integrity": "sha512-DuQ9SlFPJBJwamYudzwf/Z6KMaIRUhnVBQk/TBa3mXzN2SwS3GgGz7V39OS1GfcPlPUTTy8vXv91M8pYmfFkCg==", "requires": { "svg.draggable.js": "^2.2.2", "svg.easing.js": "^2.0.0", @@ -3459,9 +3462,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", "dev": true, "requires": { "cacache": "^12.0.3", @@ -3474,7 +3477,7 @@ "normalize-path": "^3.0.0", "p-limit": "^2.2.1", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^4.0.0", "webpack-log": "^2.0.0" }, "dependencies": { @@ -3551,6 +3554,15 @@ "ajv-keywords": "^3.1.0" } }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -3897,9 +3909,9 @@ } }, "dayjs": { - "version": "1.8.29", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.29.tgz", - "integrity": "sha512-Vm6teig8ZWK7rH/lxzVGxZJCljPdmUr6q/3f4fr5F0VWNGVkZEjZOQJsAN8hUHUqn+NK4XHNEpJZS1MwLyDcLw==" + "version": "1.8.34", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.34.tgz", + "integrity": "sha512-Olb+E6EoMvdPmAMq2QoucuyZycKHjTlBXmRx8Ada+wGtq4SIXuDCdtoaX4KkK0yjf1fJLnwXQURr8gQKWKaybw==" }, "de-indent": { "version": "1.0.2", @@ -4405,9 +4417,9 @@ "integrity": "sha512-CLQaFuvkKqR9FD2G3cJrr1fV7DRMXiAKWLP2F8cxtvvtzAS7Tubt0kF47/m+uE61kiT+I7ZEn7HqLnmWdOhmuA==" }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -4420,9 +4432,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -6936,9 +6948,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "lodash.defaultsdeep": { @@ -7385,9 +7397,9 @@ } }, "mri": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.5.tgz", - "integrity": "sha512-d2RKzMD4JNyHMbnbWnznPaa8vbdlq/4pNZ3IgdaGrVbBhebBsGUUE/6qorTMYNS6TwuH3ilfOlD2bf4Igh8CKg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", "dev": true }, "ms": { @@ -8973,9 +8985,9 @@ "dev": true }, "prettier": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", - "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz", + "integrity": "sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw==", "dev": true }, "prettier-linter-helpers": { @@ -8998,9 +9010,9 @@ } }, "pretty-quick": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.1.tgz", - "integrity": "sha512-y7bJt77XadjUr+P1uKqZxFWLddvj3SKY6EU4BuQtMxmmEFSMpbN132pUWdSG1g1mtUfO0noBvn7wBf0BVeomHg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.2.tgz", + "integrity": "sha512-aLb6vtOTEfJDwi1w+MBTeE20GwPVUYyn6IqNg6TtGpiOB1W3y6vKcsGFjqGeaaEtQgMLSPXTWONqh33UBuwG8A==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -9012,9 +9024,9 @@ }, "dependencies": { "cross-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", - "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -9050,18 +9062,18 @@ } }, "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" } }, "ignore": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz", - "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "is-stream": { @@ -9095,9 +9107,9 @@ } }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -11730,9 +11742,9 @@ "dev": true }, "vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" }, "vue-apexcharts": { "version": "1.6.0", @@ -11740,9 +11752,9 @@ "integrity": "sha512-sT6tuVTLBwfH3TA7azecDNS/W70bmz14ZJI7aE7QIqcG9I6OywyH7x3hcOeY1v1DxttI8Svc5RuYj4Dd+A5F4g==" }, "vue-async-computed": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/vue-async-computed/-/vue-async-computed-3.8.2.tgz", - "integrity": "sha512-If5roOhp/x0WWd0TWRD77YsuFoiIw3MbkcRlIB/FE3TqQCPje52eQp5CV5NN/7B0VAyPuGX5JQa+rc9AOcGAYw==" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vue-async-computed/-/vue-async-computed-3.9.0.tgz", + "integrity": "sha512-ac6m/9zxHHNGGKNOU1en8qNk+fAmEbJLuWL7qyQTFuH3vjv3V4urv//QHcVzCobROM6btnaDG2b+XYMncF/ETA==" }, "vue-cli-plugin-vuetify": { "version": "2.0.7", @@ -11838,9 +11850,9 @@ "integrity": "sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==" }, "vue-router": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", - "integrity": "sha512-SdKRBeoXUjaZ9R/8AyxsdTqkOfMcI5tWxPZOUX5Ie1BTL5rPSZ0O++pbiZCeYeythiZIdLEfkDiQPKIaWk5hDg==" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.3.tgz", + "integrity": "sha512-BADg1mjGWX18Dpmy6bOGzGNnk7B/ZA0RxuA6qedY/YJwirMfKXIDzcccmHbQI0A6k5PzMdMloc0ElHfyOoX35A==" }, "vue-style-loader": { "version": "4.1.2", @@ -11861,9 +11873,9 @@ } }, "vue-template-compiler": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -11892,9 +11904,9 @@ } }, "vuetify": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.4.tgz", - "integrity": "sha512-vMtCNqv5BhrjfTfIhH2Lptoxx7z/Nu1NfBiZ2oCvI2QbTagMlhF5GMXgbnnyTGIjooFf/ozKznuMxk6tuI5cxw==" + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.10.tgz", + "integrity": "sha512-KzL/MhZ7ajubm9kwbdCoA/cRV50RX+a5Hcqiwt7Am1Fni2crDtl2no05UNwKroTfscrYYf07gq3WIFSurPsnCA==" }, "vuex": { "version": "3.5.1", diff --git a/package.json b/package.json index 3348b593..528e2ceb 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,9 @@ "core-js": "^3.6.4", "dayjs": "^1.8.29", "register-service-worker": "^1.7.1", - "vue": "^2.6.11", + "vue": "^2.6.12", "vue-apexcharts": "^1.6.0", - "vue-async-computed": "^3.8.2", + "vue-async-computed": "^3.9.0", "vue-context": "^5.2.0", "vue-observe-visibility": "^0.4.6", "vue-router": "^3.3.4", @@ -38,12 +38,12 @@ "eslint-plugin-vue": "^6.2.2", "fibers": "^5.0.0", "node-sass": "^4.14.1", - "prettier": "^2.0.5", - "pretty-quick": "^2.0.1", + "prettier": "^2.1.1", + "pretty-quick": "^2.0.2", "sass": "^1.26.10", "sass-loader": "^8.0.2", "vue-cli-plugin-vuetify": "^2.0.7", - "vue-template-compiler": "^2.6.11" + "vue-template-compiler": "^2.6.12" }, "browserslist": [ "> 1%", diff --git a/src/App.vue b/src/App.vue index d82549f1..bedad50c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,6 @@