Dark Reader

Eğer Kullandığın Sitede Koyu Tema Yoksa Buna Bir Bak

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Dark Reader
// @name:en Dark Reader
// @namespace    http://tampermonkey.net/
// @version      3
// @description  Eğer Kullandığın Sitede Koyu Tema Yoksa Buna Bir Bak
// @description:en If the Site You're Using Doesn't Have a Dark Theme, Check This Out
// @author       Atilla
// @match        https://*/*
// @icon         https://darkreader.org/images/icon-256.png
// @require https://cdnjs.cloudflare.com/ajax/libs/darkreader/4.9.128/darkreader.js
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/index.umd.min.js
// @grant        GM_registerMenuCommand
// @grant GM_openInTab
// @grant GM_setValue
// @grant GM_getValue
// @license MIT
// ==/UserScript==
(() => {
  "use strict";

  let data = GM_getValue("aktif", []);
  const alanAdi = tldts.getDomain(location.href);

  const ceviriler = {
    tr: {
      koyuTema: "Koyu Modu Aç (Geçici)",
      koyuTemaKapali: "Koyu Modu Kapat (Geçici)",
      kaydet: "Bu Site İçin Her Zaman Aç",
      sil: "Bu Site İçin Ayarı Kaldır",
    },
    en: {
      koyuTema: "Turn On Dark Mode (Temporary)",
      koyuTemaKapali: "Turn Off Dark Mode (Temporary)",
      kaydet: "Always Open for This Site",
      sil: "Remove Setting for This Site",
    },
  };

  const dil = navigator.language?.split("-")[0];
  const dilSecildi = ceviriler[dil] || ceviriler.en;

  GM_registerMenuCommand(dilSecildi.koyuTema, () => {
    window.DarkReader.enable();
  });

  GM_registerMenuCommand(dilSecildi.koyuTemaKapali, () => {
    window.DarkReader.disable();
  });

  const siteIndex = data.findIndex((value) => value.domain === alanAdi);

  if (siteIndex === -1) {
    GM_registerMenuCommand(dilSecildi.kaydet, () => {
      data.push({ domain: alanAdi, durum: true });
      GM_setValue("aktif", data);
      window.DarkReader.enable();
    });
  } else {
    GM_registerMenuCommand(dilSecildi.sil, () => {
      data.splice(siteIndex, 1);
      GM_setValue("aktif", data);
      window.DarkReader.disable();
    });
  }

  GM_registerMenuCommand("Dark Reader JS", () => {
    GM_openInTab(
      "https://cdnjs.cloudflare.com/ajax/libs/darkreader/4.9.128/darkreader.js",
    );
  });

  GM_registerMenuCommand("Website", () => {
    GM_openInTab("https://darkreader.org/", { active: true });
  });

  const kayitliSite = data.find((hostname) => alanAdi === hostname.domain);
  if (kayitliSite && kayitliSite.durum === true) {
    window.DarkReader.enable();
  }
})();