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

@ -6,12 +6,21 @@
{% 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 %}