Heydon Pickering преди 8 години
родител
ревизия
5c07e6d1a4
променени са 5 файла, в които са добавени 32 реда и са изтрити 10 реда
  1. 4 0
      docs/css/styles.css
  2. 12 5
      docs/js/dom-scripts.js
  3. 0 0
      docs/service-worker.js
  4. 4 0
      themes/infusion/static/css/styles.css
  5. 12 5
      themes/infusion/static/js/dom-scripts.js

+ 4 - 0
docs/css/styles.css

@@ -71,6 +71,10 @@ figure p img {
 div:not([tabindex]):focus {
     outline: none;
 }
+[hidden] {
+  display: none;
+}
+
 /* skip link */
 
 [href="#main"] {

+ 12 - 5
docs/js/dom-scripts.js

@@ -128,11 +128,16 @@
 /* Switch and persist theme */
 (function () {
   var checkbox = document.getElementById('themer');
-  var invertor = document.getElementById('inverter');
+  var inverter = document.getElementById('inverter');
 
   function darkTheme(media) {
-    invertor.setAttribute('media', media);
-    invertor.textContent = invertor.textContent.trim();
+    if (!('filter' in document.body.style)) {
+      checkbox.parentNode.hidden = true;
+      return;
+    }
+
+    inverter.setAttribute('media', media);
+    inverter.textContent = inverter.textContent.trim();
     localStorage.setItem('darkTheme', media);
   }
 
@@ -141,8 +146,10 @@
   });
 
   window.addEventListener('DOMContentLoaded', function () {
-    if (localStorage.getItem('darkTheme') === 'screen') {
-      checkbox.click();
+    if ('filter' in document.body.style) {
+      if (localStorage.getItem('darkTheme') === 'screen') {
+        checkbox.click();
+      }
     }
   });
 }());

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
docs/service-worker.js


+ 4 - 0
themes/infusion/static/css/styles.css

@@ -71,6 +71,10 @@ figure p img {
 div:not([tabindex]):focus {
     outline: none;
 }
+[hidden] {
+  display: none;
+}
+
 /* skip link */
 
 [href="#main"] {

+ 12 - 5
themes/infusion/static/js/dom-scripts.js

@@ -128,11 +128,16 @@
 /* Switch and persist theme */
 (function () {
   var checkbox = document.getElementById('themer');
-  var invertor = document.getElementById('inverter');
+  var inverter = document.getElementById('inverter');
 
   function darkTheme(media) {
-    invertor.setAttribute('media', media);
-    invertor.textContent = invertor.textContent.trim();
+    if (!('filter' in document.body.style)) {
+      checkbox.parentNode.hidden = true;
+      return;
+    }
+
+    inverter.setAttribute('media', media);
+    inverter.textContent = inverter.textContent.trim();
     localStorage.setItem('darkTheme', media);
   }
 
@@ -141,8 +146,10 @@
   });
 
   window.addEventListener('DOMContentLoaded', function () {
-    if (localStorage.getItem('darkTheme') === 'screen') {
-      checkbox.click();
+    if ('filter' in document.body.style) {
+      if (localStorage.getItem('darkTheme') === 'screen') {
+        checkbox.click();
+      }
     }
   });
 }());

Някои файлове не бяха показани, защото твърде много файлове са промени