DarkTube

Set dark mode on youtube and turn off autoplay next video

// ==UserScript==
// @name            DarkTube
// @name:ru         DarkTube
// @namespace       darktube
// @version         0.1
// @description     Set dark mode on youtube and turn off autoplay next video
// @description:ru  Устанавливает темный режим на ютюбе и выключает автозапуск следующего видео
// @author          Blank
// @match           https://www.youtube.com/*
// @run-at          document-start
// @grant           none
// @noframes
// ==/UserScript==

(function main() {
  'use strict';

  const log = (...args) => console.log(`${GM.info.script.name}:`, ...args);
  log('start');

  // set darkmode cookie before page loaded

  const cookiePref = document.cookie.replace(/(?:(?:^|.*;\s*)PREF\s*=\s*([^;]*).*$)|^.*$/, '$1');
  const cookiePrefDark = 'f6=400';
  if (!cookiePref.includes(cookiePrefDark)) {
    document.cookie = `PREF=${cookiePrefDark}${cookiePref ? `&${cookiePref}` : ''};path=/;domain=.youtube.com;max-age=315360000`;
    log('cookie injected');
  }

  // turn off toggle autoplay

  const toggleTimerId = setInterval(() => {
    const toggle = document.querySelector('#toggle');
    if (toggle) {
      clearInterval(toggleTimerId);
      if (toggle.hasAttribute('checked')) toggle.click();
    }
  }, 2000);
}());