forked from zombieFox/nightTab
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstate.js
More file actions
127 lines (120 loc) · 2.16 KB
/
Copy pathstate.js
File metadata and controls
127 lines (120 loc) · 2.16 KB
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
116
117
118
119
120
121
122
123
124
125
126
127
var state = (function() {
var current = {
header: {
date: {
characterLength: "short",
show: {
date: true,
day: false,
month: true,
year: false,
separator: true
}
},
clock: {
hour24: true,
show: {
seconds: true,
minutes: true,
hours: true,
separator: true,
meridiem: true
}
},
editAdd: {
active: true,
},
accent: {
active: true,
},
search: {
searching: false,
active: true,
grow: true,
engine: {
selected: "google",
google: {
url: "https://www.google.com/search"
},
duckduckgo: {
url: "https://duckduckgo.com/"
},
giphy: {
url: "https://giphy.com/search/"
},
custom: {
url: ""
}
}
},
buttons: {
show: true
}
},
link: {
editObject: null,
newTab: false,
style: "block",
sort: "none"
},
layout: {
alignment: "left",
container: "wide",
scrollPastEnd: true,
theme: {
current: {
r: 0,
g: 255,
b: 0,
},
random: {
active: false,
style: "any"
}
},
},
edit: {
active: false
},
menu: {
open: false
},
modal: {
active: false
}
};
var get = function() {
return current;
};
var restore = function(data) {
if ("state" in data) {
current = data.state;
};
};
var change = function(override) {
var options = {
path: null,
value: null
};
if (override) {
options = helper.applyOptions(options, override);
};
if (options.path != null) {
helper.setObject({
path: options.path,
object: current,
newValue: options.value
});
};
};
var init = function() {
if (data.load()) {
restore(data.load());
};
};
return {
init: init,
get: get,
change: change
};
})();