Equicord/src/equicordplugins/doNotLeak/style.ts
2024-07-02 10:16:31 -04:00

116 lines
2.7 KiB
TypeScript

/*
* Vencord, a Discord client mod
* Copyright (c) 2024 Vendicated and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { findByProps } from "@webpack";
const CssFormatCode: string = `body:has(
div.{sidebar}
> section
div.{wrapper}
div.{actionButtons}
> button:nth-child(2).{buttonActive}
)
.{messageContent} {
filter: blur(12px);
}
body:has(
div.{sidebar}
> section
div.{wrapper}
div.{actionButtons}
> button:nth-child(2).{buttonActive}
)
.{visualMediaItemContainer} {
filter: blur(50px) brightness(0.1);
}
body:has(
div.{sidebar}
> section
div.{wrapper}
div.{actionButtons}
> button:nth-child(2).{buttonActive}
)
.{embedWrapper} {
filter: blur(50px);
}
body.vc-dnl-hide-in-streamer-mode:has(.{notice}.{colorStreamerMode})
.{visualMediaItemContainer} {
filter: blur(50px) brightness(0.1);
}
body.vc-dnl-hide-in-streamer-mode:has(.{notice}.{colorStreamerMode})
.{messageContent} {
filter: blur(12px);
}
body.vc-dnl-hide-in-streamer-mode:has(.{notice}.{colorStreamerMode})
.{embedWrapper} {
filter: blur(50px);
}
body.vc-dnl-show-messages .{visualMediaItemContainer} {
filter: blur(0px) brightness(1) !important;
}
body.vc-dnl-show-messages .{messageContent} {
filter: blur(0px) !important;
}
body.vc-dnl-show-messages .{embedWrapper} {
filter: blur(0px) !important;
}
body.vc-dnl-hover-to-view .{messageContent}:hover {
filter: blur(0px) brightness(1) !important;
}
body.vc-dnl-hover-to-view .{embedWrapper}:hover {
filter: blur(0px) brightness(1) !important;
}
body.vc-dnl-hover-to-view .{visualMediaItemContainer}:hover {
filter: blur(0px) brightness(1) !important;
}`;
/*
[
"sidebar",
"wrapper",
"actionButtons",
"buttonActive",
"messageContent",
"visualMediaItemContainer",
"embedWrapper",
"notice",
"colorStreamerMode",
]
*/
export function getStyle(): string {
const messageContent = findByProps("messageContent", "titleCase"); // ["messageContent","wrapper"]
const embedWrapper = findByProps("embedWrapper");
const mediaContainer = findByProps("visualMediaItemContainer");
const notice = findByProps("colorStreamerMode", "notice");
const actionBar = findByProps("actionButtons", "buttonActive", "wrapper");
const sidebar = findByProps("sidebar", "panels");
const Classes = Object.assign(
{},
actionBar,
notice,
mediaContainer,
embedWrapper,
messageContent,
sidebar
);
let CssCode = CssFormatCode;
for (const className in Classes) {
CssCode = CssCode.replaceAll(`{${className}}`, Classes[className]);
}
return CssCode;
}