@IndexZeroLz

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

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

Ссылка на сайт:
https://indexzerozzz.github.io/bonbon_tg/
  • Вопрос задан
  • 140 просмотров
Решения вопроса 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
В куки запиши по умолчанию белый цвет. Если пользователь изменит цвет то в куках цвет изменится на чёрный. Думаю, таким образом получится решить)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект