Explorar el Código

style: 优化代码,优化封装 switchMode 函数并调整其入参

ReedSun hace 3 años
padre
commit
447489b2a7
Se han modificado 1 ficheros con 19 adiciones y 21 borrados
  1. 19 21
      resources/assets/dcat/js/extensions/DarkMode.js

+ 19 - 21
resources/assets/dcat/js/extensions/DarkMode.js

@@ -19,48 +19,46 @@ export default class DarkMode {
         var storage = localStorage || {setItem:function () {}, getItem: function () {}},
             darkMode = this,
             key = 'dcat-admin-theme-mode',
-            mode = storage.getItem(key),
             icon = '.dark-mode-switcher i';
 
-        function switchMode(dark) {
-            if (dark) {
-                $(icon).addClass('icon-sun').removeClass('icon-moon');
-                darkMode.display(true);
-                return;
+        function switchMode(theme) {
+            switch (theme) {
+                case 'dark': {
+                    $(icon).addClass('icon-sun').removeClass('icon-moon');
+                    darkMode.display(true);
+                    break;
+                }
+                case 'def': {
+                    darkMode.display(false);
+                    $(icon).removeClass('icon-sun').addClass('icon-moon');
+                    break;
+                }
+                default: {
+                    break;
+                }
             }
-
-            darkMode.display(false);
-            $(icon).removeClass('icon-sun').addClass('icon-moon');
         }
 
-        if (mode === 'dark') {
-            switchMode(true);
-        } else if (mode === 'def') {
-            switchMode(false)
-        }
+        switchMode(storage.getItem(key));
 
         $(document).off('click', selector).on('click', selector, function () {
             $(icon).toggleClass('icon-sun icon-moon');
 
             if ($(icon).hasClass('icon-moon')) {
-                switchMode(false);
+                switchMode('def');
 
                 storage.setItem(key, 'def');
 
             } else {
                 storage.setItem(key, 'dark');
 
-                switchMode(true)
+                switchMode('dark')
             }
         })
 
         window.addEventListener('storage', function (event) {
             if (event.key === key) {
-                if (event.newValue === 'dark') {
-                    switchMode(true);
-                } else if (event.newValue === 'def') {
-                    switchMode(false)
-                }
+                switchMode(event.newValue);
             }
         });
     }