]> git.wh0rd.org - chrome-ext/web-power-switch.git/blobdiff - options.js
fix dark theme
[chrome-ext/web-power-switch.git] / options.js
index 540d7cc128fc9121aac2d6ecf43d339a0d083b14..4df24aab976c29ef1d0c0dbbc8510cada2ea3528 100644 (file)
@@ -55,14 +55,40 @@ function toggle_visible_pass() {
        return false;
 }
 
+function theme_select(theme, init) {
+       const theme_system = $('#theme-system');
+       const theme_light = $('#theme-light');
+       const theme_dark = $('#theme-dark');
+
+       theme_system.className = theme == 'system' ? 'selected' : '';
+       theme_light.className = theme == 'light' ? 'selected' : '';
+       theme_dark.className = theme == 'dark' ? 'selected' : '';
+
+       if (init) {
+               theme_system.onclick = theme_click;
+               theme_light.onclick = theme_click;
+               theme_dark.onclick = theme_click;
+       }
+}
+
+function theme_click() {
+       const theme = this.textContent.toLowerCase();
+       theme_select(theme);
+       storage.set({theme});
+}
+
 window.onload = function() {
-       storage.get(settings_keys, function(settings) {
+       storage.get(settings_keys, function(settings_storage) {
+               const settings = Object.assign({}, settings_defaults, settings_storage);
+
+               theme_select(settings['theme'], true);
+
                var field = document.getElementById('save');
                field.onclick = update_settings;
 
                settings_keys.forEach(function(key) {
                        var field = document.getElementById(key);
-                       field.value = settings[key] || settings_defaults[key];
+                       field.value = settings[key];
                        field.onkeydown = keydown;
                });
        });