124 lines
2.1 KiB
JavaScript
124 lines
2.1 KiB
JavaScript
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,
|
|
action: null,
|
|
newTab: false,
|
|
style: "block",
|
|
sort: "none"
|
|
},
|
|
layout: {
|
|
alignment: "left",
|
|
container: "wide",
|
|
scrollPastEnd: true,
|
|
theme: {
|
|
r: 0,
|
|
g: 255,
|
|
b: 0,
|
|
},
|
|
},
|
|
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,
|
|
restore: restore
|
|
};
|
|
|
|
})();
|