BetterDiscordApp-rauenzi/src/builtins/appearance/coloredtext.js

34 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-07-16 07:42:56 +02:00
import Builtin from "../../structs/builtin";
2019-06-20 04:19:34 +02:00
import {WebpackModules} from "modules";
2019-05-30 23:18:52 +02:00
2020-02-28 01:00:12 +01:00
const MessageContent = WebpackModules.getModule(m => m.default && m.default.displayName && m.default.displayName == "Message");
2019-05-30 23:18:52 +02:00
export default new class ColoredText extends Builtin {
get name() {return "ColoredText";}
2019-06-06 06:28:43 +02:00
get category() {return "appearance";}
2019-06-05 06:30:24 +02:00
get id() {return "coloredText";}
2019-05-30 23:18:52 +02:00
enabled() {
this.injectColoredText();
}
disabled() {
2019-06-20 04:19:34 +02:00
this.unpatchAll();
2019-05-30 23:18:52 +02:00
}
injectColoredText() {
2019-06-20 04:19:34 +02:00
this.after(MessageContent.prototype, "render", (thisObject, args, retVal) => {
this.after(retVal.props, "children", {after: ({returnValue}) => {
2019-05-30 23:18:52 +02:00
const markup = returnValue.props.children[1];
2019-06-20 04:19:34 +02:00
const roleColor = thisObject.props.message.colorString;
2019-05-30 23:18:52 +02:00
if (markup && roleColor) markup.props.style = {color: roleColor};
}});
2019-06-20 04:19:34 +02:00
});
2019-05-30 23:18:52 +02:00
}
removeColoredText() {
document.querySelectorAll(".markup-2BOw-j").forEach(elem => {
elem.style.setProperty("color", "");
});
}
};