Reddit Dark Theme Sync

Switch Reddit's theme to match the system

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name         Reddit Dark Theme Sync
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  Switch Reddit's theme to match the system
// @author       You
// @match        https://www.reddit.com/*
// @require      http://code.jquery.com/jquery-3.4.1.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    $("#header").ready(function() {
        let systemDarkEnabled = (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)
        let style = getComputedStyle(document.body);
        let isDarkEnabled = getComputedStyle(document.getElementsByTagName("header")[0].firstElementChild).getPropertyValue('--newRedditTheme-body').trim() == "#1A1A1B"
        //Check if themes are not in sync
        if(systemDarkEnabled != isDarkEnabled){
            //Reddit takes ages to load
            setTimeout(function() {
                //Open account menu
                let accountMenu = $("#USER_DROPDOWN_ID");
                accountMenu.click();
                //Delay a second to allow the menu to open
                setTimeout(function() {
                    //Find and click the switcher
                    let switcher = $("button:contains('Dark Mode')").last();
                    switcher.click();
                }, 1000);
            }, 3000);
        }
    });
})();