Reddit - Auto Color Scheme

Auto set dark or light mode for reddit

当前为 2025-05-05 提交的版本,查看 最新版本

// ==UserScript==
// @name        Reddit - Auto Color Scheme
// @namespace   Kyan Violentmonkey Scripts
// @match       *://*.reddit.com/*
// @grant       none
// @version     1.1.1
// @license     MIT
// @author      Kyan
// @description Auto set dark or light mode for reddit
// ==/UserScript==
;(function () {
    'use strict';

    /* Functions */
    const is_dark = (ele) => ele.classList.contains('theme-dark');
    const is_light = (ele) => ele.classList.contains('theme-light');
    const to_dark = (ele) => {
        if (is_light(ele)) {
            ele.classList.remove("theme-light");
            ele.classList.add("theme-dark");
            return true;
        }
        return false;
    };
    const to_light = (ele) => {
        if (is_dark(ele)) {
            ele.classList.remove("theme-dark");
            ele.classList.add("theme-light");
            return true;
        }
        return false;
    };
    const is_prefer_dark = () => window.matchMedia("(prefers-color-scheme: dark)").matches;
    const is_prefer_light = () => window.matchMedia("(prefers-color-scheme: light)").matches;

    /* Main */
    console.log("[Auto Color Scheme] Loaded")
    const ele = document.querySelector("html.theme-beta")
    if (ele) {
        console.log(`[Auto Color Scheme] Theme Element Detected: ${ele}`)
    } else {
        console.error("[Auto Color Scheme] Theme Element Not Found!")
    }
    console.log(`[Auto Color Scheme] Prefer: ${is_prefer_light()?"[✓ Light]":"✗ Light"}, ${is_prefer_dark()?"[✓ Dark]":"✗ Dark"}`)
    console.log(`[Auto Color Scheme] Current: ${is_light(ele)?"[✓ Light]":"✗ Light"}, ${is_dark(ele)?"[✓ Dark]":"✗ Dark"}`)
    if (is_dark(ele) && is_prefer_light()) {
        to_light(ele)
        console.log("[Auto Color Scheme] Switched to Light")
    } else if (is_light(ele) && is_prefer_dark()) {
        to_dark(ele)
        console.log("[Auto Color Scheme] Switched to Dark")
    } else {
        console.log("[Auto Color Scheme] No need to switch")
    }
})()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址