dev

This script/stylesheet is for PERSONAL use only!

You are free to install this script/stylesheet for yourself, but it is not allowed to be used wiki-wide (e.g., in MediaWiki:ImportJS, MediaWiki:Common.js, MediaWiki:Common.css, MediaWiki:Fandomdesktop.js, MediaWiki:Fandomdesktop.css, or MediaWiki:FandomMobile.css), as it would violate Fandom's Terms of Use.
(See the customization policy)

ThemeSelector дозволяє користувачам перемикатися між світлими та темними темами FandomDesktop, не перезавантажуючи сторінку та не встановлюючи бажану тему. Як альтернатива ThemeToggler, цей скрипт пропонує інший інтерфейс, а також деякі додаткові функції. Замість того, щоб просто перемикатися між темами, користувачі можуть застосувати свою улюблену тему або попередньо встановлену тему вікі. Збереження нового параметра зберігає поточну тему без перемикання тем і може бути встановлене на «налаштування вікі». Цей скрипт також пропонує використовувати параметр запиту URL usetheme для вибору теми, яка буде застосована.

Installation

Configuration

Параметри конфігурації для цього скрипту дозволяють особам вибирати, який інтерфейс використовувати. Опції — це властивості об’єкта конфігурації скрипту, який можна створити в особистий JS користувача з наступними рядками коду над імпортом скрипт.

window.ThemeSelector = window.ThemeSelector || {};

Щоб встановити певний параметр, помістіть рядок коду між об’єктом конфігурації скрипту та імпортом скрипту. Він має відповідати наступному формату, де властивість замінюється назвою параметра, як зазначено в таблиці нижче, а value замінюється потрібним значенням.

window.ThemeSelector.property = value;

Цей приклад встановлює для hideBuiltIn значення true. Це призведе до того, що скрипт приховає вбудовану кнопку перемикання теми Фандому.

window.ThemeSelector.hideBuiltIn = true;
Назва параметра Тип даних Значення за замовчуванням
Description
useDropdown логічне значення false
Цей параметр визначає, який інтерфейс бачить користувач. Якщо встановлено значення true, користувач побачить спадне меню з параметрами теми. В іншому випадку користувач побачить ряд з 4 кнопок; по одному для кожного варіанта теми. У будь-якому випадку буде кнопка, щоб зберегти поточну тему як нове налаштування користувача.
addSticky логічне значення false
Цей параметр контролює, чи буде інтерфейс також доданий до липкої локальної навігації, яку користувачі бачать під час прокручування сторінки. Якщо встановлено значення true, інтерфейс буде додано до липкої локальної навігації на додаток до фіксованої навігації над заголовком сторінки. В іншому випадку інтерфейс буде додано лише до фіксованої навігації над заголовком сторінки.
insertAfter логічне значення false
Цей параметр визначає, чи буде інтерфейс вставлений до чи після вбудованих кнопок. Якщо встановлено значення true, інтерфейс буде вставлено після вбудованих кнопок і, таким чином, зміниться положення вбудованих кнопок. В іншому випадку інтерфейс буде вставлено перед вбудованими кнопками і, таким чином, збереже положення вбудованих кнопок.
siteWide логічне значення false
Цей параметр визначає, чи буде вставлений графічний інтерфейс. Якщо встановлено значення true, ні кнопки, ні спадне меню не будуть вставлені. Користувачі все ще можуть вибрати, яку тему використовувати, використовуючи параметр запиту URL. Це хороший варіант для користувачів, які не хочуть додавати речі до стандартного макета сторінки, але все одно хочуть змінити теми, не змінюючи своїх уподобань.
hideBuiltIn логічне значення false
Цей параметр визначає, чи відображатиметься кнопка перемикання теми Фандому. Якщо встановлено значення true, кнопка Фандому буде прихована.
defaultTheme рядок 'user'
Ця опція дозволяє користувачам встановлювати тему, на яку скрипт автоматично змінюватиметься, щойно запуститься. Це ефективно дозволяє користувачам за бажанням встановлювати окремі бажані теми для кожної вікі. Допустимі значення: 'light', 'dark', 'wiki' (для використання попередньо встановленої теми вікі) і 'user' (для використання глобальної бажаної теми користувача). Якщо значення не є одним із цих чотирьох, воно розглядається як 'user'. Немає реального сенсу явно встановлювати значення 'user', оскільки це те, що вікі спочатку завантажує. Зверніть увагу, що цей скрипт не змінює початково завантажену тему. Таким чином, користувачі можуть тимчасово бачити іншу тему, доки цей скрипт не завершить виконання.

Usage

На додаток до графічного інтерфейсу цей скрипт пропонує параметр запиту URL usetheme. Цей параметр веде себе подібно до параметра конфігурації defaultTheme, але є окремим для кожного завантаження сторінки. Користувачі, які вирішили уникати вставки будь-якого графічного інтерфейсу, все одно можуть використовувати це для зміни теми.

Dependencies

Цей скрипт самостійно обробляє імпорт залежностей. Користувачам не потрібно імпортувати інші скрипти, щоб цей скрипт функціонував належним чином.

See also