1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { getDomain } from "../utils/misc.js";
- import { addStyleFromResource } from "../utils/dom.js";
- import { error, info } from "../utils/logging.js";
- import { getFeature } from "../config.js";
- import "./integrations.css";
- //#region Dark Reader
- /** Disables Dark Reader if it is present */
- export async function disableDarkReader() {
- if(getFeature("disableDarkReaderSites") !== getDomain() && getFeature("disableDarkReaderSites") !== "all")
- return;
- const metaElem = document.createElement("meta");
- metaElem.name = "darkreader-lock";
- metaElem.id = "bytm-disable-dark-reader";
- document.head.appendChild(metaElem);
- info("Disabled Dark Reader");
- }
- //#region SponsorBlock
- /** Fixes the z-index of the SponsorBlock panel */
- export async function fixSponsorBlock() {
- try {
- return addStyleFromResource("css-fix_sponsorblock");
- }
- catch(err) {
- error("Failed to fix SponsorBlock styling:", err);
- }
- }
- //#region ThemeSong
- /** Adjust the BetterYTM styles if ThemeSong is ***not*** used */
- export async function fixPlayerPageTheming() {
- try {
- return addStyleFromResource("css-fix_playerpage_theming");
- }
- catch(err) {
- error("Failed to fix BetterYTM player page theming:", err);
- }
- }
- /** Sets the lightness of the theme color used by BYTM according to the configured lightness value */
- export async function fixThemeSong() {
- try {
- const cssVarName = (() => {
- switch(getFeature("themeSongLightness")) {
- default:
- case "darker":
- return "--ts-palette-darkmuted-hex";
- case "normal":
- return "--ts-palette-muted-hex";
- case "lighter":
- return "--ts-palette-lightmuted-hex";
- };
- })();
- document.documentElement.style.setProperty("--bytm-themesong-bg-accent-col", `var(${cssVarName})`);
- }
- catch(err) {
- error("Failed to set ThemeSong integration color lightness:", err);
- }
- }
|