diff options
Diffstat (limited to 'settings.js')
| -rw-r--r-- | settings.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/settings.js b/settings.js new file mode 100644 index 00000000..8dc9950c --- /dev/null +++ b/settings.js @@ -0,0 +1,46 @@ +var settingsPanel = document.createElement("div"); +settingsPanel.innerHTML = '<div style="text-align: right;">Settings</div><div style="display: none;">' + + '<label><input type="checkbox" name="videoexpand" checked>Expand videos inline</label><br>' + + '<label><input type="checkbox" name="videohover" checked>Play videos on hover</label><br>' + + '<label><input type="checkbox" name="videomuted">Start videos muted</label><br>' + + '</div>'; + +function refreshSettings() { + var settingsItems = settingsPanel.getElementsByTagName("input"); + for (var i = 0; i < settingsItems.length; i++) { + var box = settingsItems[i]; + if (box.name in localStorage) { + box.checked = JSON.parse(localStorage[box.name]); + } else { + localStorage[box.name] = JSON.stringify(box.checked); + } + } +} + +function setupCheckbox(box) { + box.onchange = function(e) { + localStorage[box.name] = JSON.stringify(box.checked); + }; +} + +refreshSettings(); +var settingsItems = settingsPanel.getElementsByTagName("input"); +for (var i = 0; i < settingsItems.length; i++) { + setupCheckbox(settingsItems[i]); +} + +settingsPanel.onmouseover = function(e) { + refreshSettings(); + var settingsSections = settingsPanel.getElementsByTagName("div"); + settingsSections[0].style.fontWeight = "bold"; + settingsSections[1].style.display = "block"; +}; +settingsPanel.onmouseout = function(e) { + var settingsSections = settingsPanel.getElementsByTagName("div"); + settingsSections[0].style.fontWeight = "normal"; + settingsSections[1].style.display = "none"; +}; + +function setting(name) { + return JSON.parse(localStorage[name]); +} |
