TheAndrey
Редактор учебника
- 1,071
- 72
- 372
Наверняка не все пользователи знают о наличии тёмной темы на форуме. Включить её можно в настройках профиля. Чтобы это не делать вручную, написал небольшой userscript, который делает это за вас, автоматически. Светлая/тёмная тема переключается исходя из предпочтений браузера. Во всех современных браузерах поддержка этого стандарта присутствует.
Для установки скрипта нужно установить расширение Tampermonkey (или аналог). Затем в меню расширения выбираем «Создать новый скрипт», в открывшийся редактор вставляем следующий код и сохраняем.
На этом всё!
Примечание: Поскольку смена темы осуществляется средствами форума, это изменение отразится на всех ваших устройствах, где выполнен вход в аккаунт.
Для установки скрипта нужно установить расширение Tampermonkey (или аналог). Затем в меню расширения выбираем «Создать новый скрипт», в открывшийся редактор вставляем следующий код и сохраняем.
JavaScript:
// ==UserScript==
// @name MC Modding automatic dark/light mode
// @namespace mcmodding.ru
// @version 1.0
// @description Автоматическое переключение между светлой и тёмной темой форума.
// @author TheAndrey
// @match https://forum.mcmodding.ru/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=forum.mcmodding.ru
// @grant none
// ==/UserScript==
(function () {
'use strict';
const selectedStyle = parseInt(window.sessionStorage.getItem('selected_style') ?? 0);
const wantsScheme = scheme => window.matchMedia('(prefers-color-scheme: ' + scheme + ')').matches === true;
let setStyle = 0; // Default
if (wantsScheme('dark')) {
setStyle = 10; // Dark Style
} else if (wantsScheme('light')) {
setStyle = 9; // Light Style
}
if (selectedStyle !== setStyle) {
console.info('Setting style style to: ' + setStyle);
fetch(`/misc/style?style_id=${setStyle}&t=${window.XF.config.csrf}`).then(function () {
window.sessionStorage.setItem('selected_style', setStyle);
console.info('Done!');
});
}
})();
На этом всё!
Примечание: Поскольку смена темы осуществляется средствами форума, это изменение отразится на всех ваших устройствах, где выполнен вход в аккаунт.
Последнее редактирование: