Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2023, 22:22
Новичок на форуме
Отправить личное сообщение для scrumen Посмотреть профиль Найти все сообщения от scrumen
 
Регистрация: 09.04.2023
Сообщений: 1

Темный режим
Здравствуйте! Имеется форма комментариев от telegram https://core.telegram.org/widgets/discussion там можно выбрать темный режим. Также есть скрипт, выбора темной темы https://codepen.io/scrumen/pen/yLRNLzO. Как можно их совместить? Что бы при выборе темной темы, форма тоже менялась на темную?
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2023, 01:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

форма комментариев от telegram
scrumen,
<!DOCTYPE HTML>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        :root {
            --background-color: #fff;
        }
        .dark-mode {
            --background-color: #000;
        }
        body {
            padding: 40px;
            background: var(--background-color);
        }
    </style>
</head>
<body>
    <button class="header-theme-link">Сменить тему</button>
    <script async src="https://telegram.org/js/telegram-widget.js?22" data-telegram-discussion="contest/198" data-comments-limit="5"></script>
    <script>
        window.addEventListener('load', () => {
            const headerThemeLink = document.querySelector('.header-theme-link');
            const body = document.body;
            const src = ['https://t.me/contest/198?embed=1&discussion=1&comments_limit=5',
            'https://t.me/contest/198?embed=1&discussion=1&comments_limit=5&color=29B127&colorful=1&dark=1&dark_color=72E350']
            const isDarkMode = localStorage.getItem('darkMode') === 'true';
            if (isDarkMode) {
                body.classList.add('dark-mode');
                document.querySelector('[id^="telegram-discussion-contest"]').src = src[1];
            }
            headerThemeLink.addEventListener('click', () => {
                body.classList.toggle('dark-mode');
                let toogle = body.classList.contains('dark-mode');
                localStorage.setItem('darkMode', toogle);
                document.querySelector('[id^="telegram-discussion-contest"]').src = src[+toogle];
            });
        })
    </script>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает полноэкранный режим YouTube Lucard IV Элементы интерфейса 0 07.03.2017 14:35
table и режим редактирования torsar Events/DOM/Window 3 13.03.2013 19:31
Можно ли сделать полноэкранный режим Makkssimka jQuery 2 05.03.2013 18:30
Отследить уход в фоновый режим acidovsky Events/DOM/Window 1 06.10.2012 02:31
Как определить цвет (темный он или светлый)? mouse_web Элементы интерфейса 6 22.07.2009 14:35