Make auto darkmode working by using "prefers-color-scheme" tag

This commit is contained in:
MG-5 2023-11-01 12:50:00 +01:00
parent c01b9d499c
commit 93f92368c2

View file

@ -2,16 +2,25 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.5, maximum-scale=5"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.5, maximum-scale=5">
<!-- Theme Mode--> <!-- Theme Mode -->
{% if site.color_theme == 'auto' %} {% if site.color_theme == 'auto' %}
<script> <script>
const isAutoTheme = true; const isAutoTheme = true;
document.documentElement.setAttribute('data-theme', sessionStorage.getItem('theme')) const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
const storedTheme = localStorage.getItem('theme');
if (storedTheme) {
document.documentElement.setAttribute('data-theme', storedTheme);
} else if (prefersDarkMode) {
document.documentElement.setAttribute('data-theme', 'dark');
} else {
document.documentElement.setAttribute('data-theme', 'light');
}
</script> </script>
{% else %} {% else %}
<script> <script>
const isAutoTheme = false; const isAutoTheme = false;
document.documentElement.setAttribute('data-theme', "{{ site.color_theme | default: 'light' }}") document.documentElement.setAttribute('data-theme', "{{ site.color_theme | default: 'light' }}");
</script> </script>
{% endif %} {% endif %}