BetterDiscordApp-rauenzi/renderer/src/builtins/appearance/hidegifbutton.js

32 lines
1.3 KiB
JavaScript

import Builtin from "../../structs/builtin";
import WebpackModules from "../../modules/webpackmodules";
import Utilities from "../../modules/utilities";
export default new class HideGIFButton extends Builtin {
get name() {return "HideGIFButton";}
get category() {return "appearance";}
get id() {return "hideGIFButton";}
enabled() {
this.after(WebpackModules.find(m => m.type && m.type.render && m.type.render.displayName === "ChannelTextAreaContainer").type, "render", (_, __, returnValue) => {
const buttons = Utilities.getNestedProp(returnValue, "props.children.props.children.1.props.children.props.children.2.props.children");
if (Array.isArray(buttons)) {
for (const button of buttons) {
if (!button) continue;
const renderFunc = Utilities.getNestedProp(button, "type.type.render");
if (!renderFunc) continue;
// ChannelStickerPickerButton for sticker button
if (renderFunc.displayName === "ChannelGIFPickerButton") {
button.props.disabled = true;
break;
}
}
}
});
}
disabled() {
this.unpatchAll();
}
};