/
index.js
115 lines (112 loc) · 3 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import Vue from 'vue'
import Vuex from 'vuex'
import VuexPersist from 'vuex-persist'
import actions from './actions'
import getters from './getters'
import mutations from './mutations'
const vuexPersist = new VuexPersist({
key: 'vuetorrent',
storage: window.localStorage,
reducer: state => ({
sort_options: state.sort_options,
webuiSettings: state.webuiSettings,
authenticated: state.authenticated
})
})
Vue.use(Vuex)
export default new Vuex.Store({
plugins: [vuexPersist.plugin],
state: {
version: 0,
intervals: [],
status: {
status: '',
downloaded: '',
uploaded: '',
dlspeed: '',
upspeed: '',
freeDiskSpace: '',
altSpeed: '',
dlspeedRaw: '',
upspeedRaw: '',
tags: ''
},
upload_data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
download_data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
torrents: [],
selected_torrents: [],
authenticated: false,
sort_options: {
sort: null,
reverse: true,
hashes: [],
filter: null
},
rid: 0,
pasteUrl: null,
modals: [],
settings: {},
webuiSettings: {
darkTheme: false,
showFreeSpace: true,
showSpeedGraph: true,
showSessionStat: true,
showCurrentSpeed: true,
showTrackerFilter: false,
showSpeedInTitle: false,
title: 'Default',
rightDrawer: false,
paginationSize: 15,
busyTorrentProperties: [
{ name: 'Size', active: true },
{ name: 'Progress', active: true },
{ name: 'Download', active: true },
{ name: 'Upload', active: true },
{ name: 'Downloaded', active: true },
{ name: 'Uploaded', active: true },
{ name: 'ETA', active: true },
{ name: 'Peers', active: true },
{ name: 'Seeds', active: true },
{ name: 'Status', active: true },
{ name: 'Ratio', active: true },
{ name: 'Category', active: true },
{ name: 'Tags', active: true },
{ name: 'AddedOn', active: true },
{ name: 'Availability', active: true }
],
doneTorrentProperties: [
{ name: 'Size', active: true },
{ name: 'Progress', active: true },
{ name: 'Download', active: true },
{ name: 'Upload', active: true },
{ name: 'Downloaded', active: true },
{ name: 'Uploaded', active: true },
{ name: 'ETA', active: true },
{ name: 'Peers', active: true },
{ name: 'Seeds', active: true },
{ name: 'Status', active: true },
{ name: 'Ratio', active: true },
{ name: 'Category', active: true },
{ name: 'Tags', active: true },
{ name: 'AddedOn', active: true },
{ name: 'Availability', active: true }
]
},
categories: [],
trackers: [],
tags: [],
filteredTorrentsCount: 0,
latestSelectedTorrent: null,
selectMode: false,
searchPlugins: []
},
actions: {
...actions
},
getters: {
...getters
},
mutations: {
...mutations
}
})