@IndexZeroLz

Постоянная темная тема. Как сделать?

Делаю сайт для телеграм бота. Добавил возможность перехода на светлую тему, но при переходе на другую страницу тема меняется назад. Как сделать чтобы она не менялась назад?

Ссылка на сайт:
https://indexzerozzz.github.io/bonbon_tg/
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Seasle
@Seasle Куратор тега CSS
В раздел head:
+ function applyTheme() {
+     const isDark = (localStorage.getItem('is-dark-theme') ?? 'true') === 'true';
+     if (isDark) {
+         document.body.classList.remove('light-mode');
+         document.body.classList.add('dark-mode');
+     } else {
+         document.body.classList.remove('dark-mode');
+         document.body.classList.add('light-mode');
+     }
+ }

- var dark = true;
function themeChange() {
-     var element = document.body;
- 
-     if (dark == true) {
-         element.classList.remove("dark-mode");
-         element.classList.add("light-mode");
-         dark = false;
-     }
- 
-     else {
-         element.classList.remove("light-mode");
-         element.classList.add("dark-mode");
-         dark = true;
-     }
+     localStorage.setItem('is-dark-theme', !((localStorage.getItem('is-dark-theme') ?? 'true') === 'true'));
+     applyTheme();
}

+ window.addEventListener('DOMContentLoaded', function () {
+     applyTheme();
+ });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Evdokim001
PHP & WordPress developer
В куки запиши по умолчанию белый цвет. Если пользователь изменит цвет то в куках цвет изменится на чёрный. Думаю, таким образом получится решить)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы