This commit is contained in:
Daan Wijns 2021-01-23 13:43:43 +01:00 committed by GitHub
parent 4358f24f03
commit 534e63d91d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 95 additions and 71 deletions

46
package-lock.json generated
View file

@ -1397,20 +1397,20 @@
}
},
"@vue/cli-plugin-pwa": {
"version": "4.5.10",
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.10.tgz",
"integrity": "sha512-scYCwOX5A9hkIF9PFkeQQMDcE/OSKDg3BCYrm7TcmRCtmY77jqRNcdX+KoUTPrt8A1b4OHFbzHs95C/r4y9eHw==",
"version": "4.5.11",
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.11.tgz",
"integrity": "sha512-7wvNdR8EXRWaLlybPlk4B6+lE8y+sG2kXq69EyH4ILRmZnFYc22dY22eUhR1EIFTmRxHR0g8qDBrp1BvaNeaYA==",
"dev": true,
"requires": {
"@vue/cli-shared-utils": "^4.5.10",
"@vue/cli-shared-utils": "^4.5.11",
"webpack": "^4.0.0",
"workbox-webpack-plugin": "^4.3.1"
},
"dependencies": {
"@vue/cli-shared-utils": {
"version": "4.5.10",
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.10.tgz",
"integrity": "sha512-Lid6FflDqcvo/JBIBjUriAQ1RkQaKbBpzXSLEK/JmoKkQRHW/rRhDLGI1dEVyOLYnDEiL1m8o1xPJaplUUiXpA==",
"version": "4.5.11",
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz",
"integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==",
"dev": true,
"requires": {
"@hapi/joi": "^15.0.1",
@ -4070,9 +4070,9 @@
}
},
"dayjs": {
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.3.tgz",
"integrity": "sha512-/2fdLN987N8Ki7Id8BUN2nhuiRyxTLumQnSQf9CNncFCyqFsSKb9TNhzRYcC8K8eJSJOKvbvkImo/MKKhNi4iw=="
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz",
"integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw=="
},
"de-indent": {
"version": "1.0.2",
@ -5000,15 +5000,15 @@
}
},
"eslint-plugin-vue": {
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.4.1.tgz",
"integrity": "sha512-W/xPNHYIkGJphLUM2UIYYGKbRw3BcDoMIPY9lu1TTa2YLiZoxurddfnmOP+UOVywxb5vi438ejzwvKdZqydtIw==",
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.5.0.tgz",
"integrity": "sha512-QnMMTcyV8PLxBz7QQNAwISSEs6LYk2LJvGlxalXvpCtfKnqo7qcY0aZTIxPe8QOnHd7WCwiMZLOJzg6A03T0Gw==",
"dev": true,
"requires": {
"eslint-utils": "^2.1.0",
"natural-compare": "^1.4.0",
"semver": "^7.3.2",
"vue-eslint-parser": "^7.3.0"
"vue-eslint-parser": "^7.4.1"
},
"dependencies": {
"lru-cache": {
@ -10120,9 +10120,9 @@
"dev": true
},
"sass": {
"version": "1.32.4",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz",
"integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==",
"version": "1.32.5",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz",
"integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==",
"dev": true,
"requires": {
"chokidar": ">=2.0.0 <4.0.0"
@ -12065,9 +12065,9 @@
}
},
"vue-eslint-parser": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.3.0.tgz",
"integrity": "sha512-n5PJKZbyspD0+8LnaZgpEvNCrjQx1DyDHw8JdWwoxhhC+yRip4TAvSDpXGf9SWX6b0umeB5aR61gwUo6NVvFxw==",
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.4.1.tgz",
"integrity": "sha512-AFvhdxpFvliYq1xt/biNBslTHE/zbEvSnr1qfHA/KxRIpErmEDrQZlQnvEexednRHmLfDNOMuDYwZL5xkLzIXQ==",
"dev": true,
"requires": {
"debug": "^4.1.1",
@ -12219,9 +12219,9 @@
}
},
"vuetify": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.4.2.tgz",
"integrity": "sha512-8W1928Fv6GKwLiOThutYf2wtD5C9+vcCavlI8NT0YxNOVvluoL8xrep8mGGwDsCkay+4LzaAX92owKeNi3kpWg=="
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.4.3.tgz",
"integrity": "sha512-i2/Df0U0sedlaCbft4NMbna7WXbTCBhKVYTMjBrLVzrYTTWqzSO7ZCxLuDRY7MjwQhn7AOec7ent9U/NyIICqA=="
},
"vuetify-loader": {
"version": "1.6.0",

View file

@ -1,6 +1,6 @@
{
"name": "vuetorrent",
"version": "0.5.0",
"version": "0.5.1",
"private": true,
"scripts": {
"start": "npm run serve",
@ -13,7 +13,7 @@
"apexcharts": "^3.23.1",
"axios": "^0.21.1",
"core-js": "^3.8.3",
"dayjs": "^1.10.3",
"dayjs": "^1.10.4",
"fuse.js": "^6.4.6",
"lodash": "^4.17.20",
"register-service-worker": "^1.7.2",
@ -27,7 +27,7 @@
"vue-toastification": "^1.7.11",
"vue2-perfect-scrollbar": "^1.5.0",
"vuedraggable": "^2.24.3",
"vuetify": "^2.4.2",
"vuetify": "^2.4.3",
"vuex": "^3.6.0",
"vuex-persist": "^3.1.3"
},
@ -35,17 +35,17 @@
"@mdi/js": "^5.9.55",
"@vue/cli-plugin-babel": "~4.3.0",
"@vue/cli-plugin-eslint": "~4.3.0",
"@vue/cli-plugin-pwa": "^4.5.10",
"@vue/cli-plugin-pwa": "^4.5.11",
"@vue/cli-service": "~4.3.0",
"@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.18.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.4.1",
"eslint-plugin-vue": "^7.5.0",
"fibers": "^5.0.0",
"node-sass": "^4.14.1",
"sass": "^1.32.4",
"sass": "^1.32.5",
"sass-loader": "^8.0.2",
"vue-cli-plugin-vuetify": "^2.0.9",
"vue-template-compiler": "^2.6.12",

View file

@ -1,25 +1,35 @@
<template>
<div v-if="status">
<div class="text-uppercase white--text caption ml-4">
<div class="text-uppercase white--text caption ml-4 font-weight-medium">
current speed
</div>
<v-card color="secondary" flat class="mr-2 ml-2">
<v-layout row wrap class="pa-3 mt-1 project nav_download mx-auto">
<v-icon color="download">
<v-card color="secondary" flat class="mr-2 ml-2 text-center">
<v-layout row wrap class="py-3 px-1 mt-1 project mx-auto">
<v-icon class="mt-2" color="download" size="18px">
{{ mdiChevronDown }}
</v-icon>
<span class="download--text title">
{{ status.dlspeed | getDataValue(1) }}
<span class="font-weight-light caption">
<span
class="download--text title"
style="font-size: 1.1em !important;"
>
204.34
<span class="font-weight-light caption font-weight-regular">
{{ status.dlspeed | getDataUnit(1) }}/s
</span>
</span>
<v-icon class="pl-5" color="upload">
<v-icon
class="pl-2 mt-1"
color="upload"
size="24px"
>
{{ mdiChevronUp }}
</v-icon>
<span class="upload--text title">
{{ status.upspeed | getDataValue }}
<span class="font-weight-light caption">
<span
class="upload--text title"
style="font-size: 1.1em !important;"
>
204.34
<span class="font-weight-light caption font-weight-regular">
{{ status.upspeed | getDataUnit }}/s
</span>
</span>

View file

@ -1,12 +1,16 @@
<template>
<div style="margin-top: 30px">
<div class="mt-1">
<label class="white--text text-uppercase font-weight-medium caption ml-4">
Status
</label>
<v-select
name="state_filter"
aria-label="state_filter"
:value="selectedState"
class="ml-2 mr-2"
label="STATUS"
solo
flat
solo
:items="options"
item-text="name"
color="download"
@ -14,12 +18,15 @@
background-color="secondary"
@input="setState"
/>
<label class="white--text text-uppercase font-weight-medium caption ml-4">
Category
</label>
<v-select
aria-label="category_filter"
:value="selectedCategory"
solo
flat
class="ml-2 mr-2 side-select"
solo
class="ml-2 mr-2"
label="CATEGORIES"
:items="availableCategories"
item-text="name"
@ -29,12 +36,15 @@
@input="setCategory"
/>
<div v-if="showTrackerFilter">
<label class="white--text text-uppercase font-weight-medium caption ml-4">
Tracker
</label>
<v-select
aria-label="tracker_filter"
:value="selectedTracker"
solo
flat
class="ml-2 mr-2 side-select"
solo
class="ml-2 mr-2"
label="TRACKER"
:items="availableTrackers"
item-text="name"
@ -44,12 +54,6 @@
@input="setTracker"
/>
</div>
<div
style="font-size: 0.9em"
class="download--text text-uppercase text-center"
>
{{ torrentCountString }}
</div>
</div>
</template>
@ -78,7 +82,7 @@ export default {
selectedTracker: null
}),
computed: {
...mapGetters(['getCategories', 'getTrackers', 'getTorrentCountString']),
...mapGetters(['getCategories', 'getTrackers']),
...mapState(['sort_options']),
availableCategories() {
const categories = [
@ -105,9 +109,6 @@ export default {
}
return trackers
},
torrentCountString() {
return this.getTorrentCountString()
}
},
mounted() {
@ -148,5 +149,8 @@ export default {
.v-select__slot > label {
color: white !important;
}
#app .v-select .v-text-field__details {
display: none;
}
</style>

View file

@ -43,6 +43,7 @@
<SpeedGraph v-if="webuiSettings.showSpeedGraph" />
<div class="mt-4" />
<FilterSelect :show-tracker-filter="webuiSettings.showTrackerFilter" />
<SessionStats
v-if="webuiSettings.showSessionStat"
:status="status"
@ -52,7 +53,13 @@
v-if="webuiSettings.showFreeSpace"
:space="status.freeDiskSpace"
/>
<FilterSelect :show-tracker-filter="webuiSettings.showTrackerFilter" />
<div
style="font-size: 0.9em"
class="download--text text-uppercase text-center mt-5"
>
{{ torrentCountString }}
</div>
<div class="mt-auto">
<BottomActions />
</div>
@ -90,12 +97,15 @@ export default {
}
},
computed: {
...mapGetters(['getTheme', 'getWebuiSettings', 'getStatus']),
...mapGetters(['getTheme', 'getWebuiSettings', 'getStatus', 'getTorrentCountString']),
webuiSettings() {
return this.getWebuiSettings()
},
status() {
return this.getStatus()
},
torrentCountString() {
return this.getTorrentCountString()
}
},
created() {

View file

@ -17,7 +17,7 @@
<template #activator="{ on }">
<v-list-item link v-on="on" @click="toggleSpeed">
<v-icon
color="white"
:color="altSpeed ? 'accent' : 'white'"
>
{{ altSpeed ? mdiSpeedometerSlow : mdiSpeedometer }}
</v-icon>

View file

@ -1,9 +1,9 @@
<template>
<div v-if="status">
<div class="text-uppercase white--text caption ml-4">
<div v-if="status" class="mt-3">
<label class="text-uppercase white--text caption font-weight-medium ml-4">
Session Stats
</div>
<v-card flat color="secondary" class="mr-2 ml-2">
</label>
<v-card flat color="secondary" class="mr-2 ml-2 mb-4">
<v-layout row wrap class="pa-3 mt-1 project mx-auto">
<v-flex md6>
<div
@ -23,8 +23,8 @@
</v-flex>
</v-layout>
</v-card>
<v-card flat color="secondary" class="ml-2 mr-2 mt-1">
<v-layout row wrap class="pa-3 project mx-auto">
<v-card flat color="secondary" class="ml-2 mr-2">
<v-layout row wrap class="pa-3 mt-1 project mx-auto">
<v-flex md6>
<div
style="margin-top: 6px"

View file

@ -12,7 +12,7 @@
@click="toggleSelectMode()"
>
<v-icon color="grey">
{{ $store.state.selectMode ? mdiSelectOff : mdiSelectMultiple }}
{{ $store.state.selectMode ? mdiCheckboxMarked : mdiCheckboxBlankOutline }}
</v-icon>
</v-btn>
</template>
@ -154,7 +154,7 @@ import { General } from '@/mixins'
import { mapState } from 'vuex'
import qbit from '@/services/qbit'
import {
mdiSelectOff, mdiSelectMultiple, mdiSort, mdiCog,
mdiSort, mdiCog, mdiCheckboxBlankOutline, mdiCheckboxMarked,
mdiSearchWeb, mdiDelete, mdiPlus, mdiPlay, mdiPause
} from '@mdi/js'
@ -172,8 +172,8 @@ export default {
mdiPause,
mdiDelete,
mdiCog,
mdiSelectOff,
mdiSelectMultiple
mdiCheckboxMarked,
mdiCheckboxBlankOutline
}
},
computed: {

View file

@ -6,7 +6,7 @@
:class="style"
>
<v-flex xs12 class="ma-1 mt-0" row>
<span class="truncate subtitle-1">
<span class="subtitle-1">
{{ torrent.name }}
</span>
</v-flex>

View file

@ -2,7 +2,7 @@
<div class="px-1 px-sm-5 pt-4 background" @click.self="resetSelected">
<v-row no-gutters class="grey--text">
<v-col>
<h1 style="font-size: 1.3em !important" class="subtitle-1 ml-2">
<h1 style="font-size: 1.6em !important" class="subtitle-1 ml-2">
Dashboard
</h1>
</v-col>