From 113f47ca7fb6adf382c89541602b0680dfdc24e2 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Sat, 3 Sep 2022 17:49:16 +0200 Subject: Add QuickCss toggle; add settings listener api --- src/utils/quickCss.ts | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/utils') diff --git a/src/utils/quickCss.ts b/src/utils/quickCss.ts index 5c9e830..eea44df 100644 --- a/src/utils/quickCss.ts +++ b/src/utils/quickCss.ts @@ -1,8 +1,21 @@ +import { addSettingsListener, Settings } from "../api/settings"; import IpcEvents from "./IpcEvents"; -document.addEventListener("DOMContentLoaded", async () => { - const style = document.createElement("style"); - document.head.appendChild(style); - VencordNative.ipc.on(IpcEvents.QUICK_CSS_UPDATE, (_, css: string) => style.innerText = css); - style.innerText = await VencordNative.ipc.invoke(IpcEvents.GET_QUICK_CSS); +let style: HTMLStyleElement; + +export async function toggle(isEnabled: boolean) { + if (!style) { + if (isEnabled) { + style = document.createElement("style"); + style.id = "vencord-custom-css"; + document.head.appendChild(style); + VencordNative.ipc.on(IpcEvents.QUICK_CSS_UPDATE, (_, css: string) => style.innerText = css); + style.innerText = await VencordNative.ipc.invoke(IpcEvents.GET_QUICK_CSS); + } + } else style.disabled = !isEnabled; +} + +document.addEventListener("DOMContentLoaded", () => { + toggle(Settings.useQuickCss); + addSettingsListener("useQuickCss", toggle); }); -- cgit