Browse Source

Dark mode: prevent javascript error when localStorage is disabled due to browser privacy settings

Felix Niklas 2 years ago
parent
commit
c1ca22000d
1 changed files with 5 additions and 3 deletions
  1. 5 3
      app/views/layouts/application.html.erb

+ 5 - 3
app/views/layouts/application.html.erb

@@ -16,9 +16,11 @@
       document.head.appendChild(polyfillScriptTag);
     }
 
-    if(window.matchMedia('(prefers-color-scheme: dark)').matches || localStorage.getItem('theme') == 'dark'){
-      document.documentElement.dataset.theme = 'dark';
-    }
+    try {
+      if(window.matchMedia('(prefers-color-scheme: dark)').matches || localStorage.getItem('theme') == 'dark'){
+        document.documentElement.dataset.theme = 'dark';
+      }
+    } catch { };
   <% end -%>
   <% if Rails.configuration.assets.debug %>
     <%= javascript_include_tag "application", nonce: true %>