BetterDiscordApp-rauenzi/src/builtins/publicservers.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-05-30 23:18:52 +02:00
import Builtin from "../structs/builtin";
import {DiscordModules, WebpackModules} from "modules";
import PublicServersMenu from "../ui/publicservers/menu";
2019-06-15 04:11:19 +02:00
const LayerStack = WebpackModules.getByProps("pushLayer");
2019-05-29 05:48:41 +02:00
2019-05-30 23:18:52 +02:00
export default new class PublicServers extends Builtin {
get name() {return "PublicServers";}
2019-06-06 06:28:43 +02:00
get category() {return "general";}
get id() {return "publicServers";}
2019-05-29 05:48:41 +02:00
2019-05-30 23:18:52 +02:00
enabled() {
const wrapper = DiscordModules.GuildClasses.wrapper.split(" ")[0];
2019-05-29 05:48:41 +02:00
const guilds = $(`.${wrapper} .scroller-2FKFPG >:first-child`);
guilds.after(this.button);
}
2019-05-30 23:18:52 +02:00
disabled() {
$("#bd-pub-li").remove();
}
2019-06-15 04:11:19 +02:00
openPublicServers() {
2019-06-22 06:37:19 +02:00
LayerStack.pushLayer(() => DiscordModules.React.createElement(PublicServersMenu, {close: LayerStack.popLayer}));
2019-05-29 05:48:41 +02:00
}
get button() {
const btn = $("<div/>", {
"class": DiscordModules.GuildClasses.listItem,
2019-06-04 21:17:23 +02:00
"id": "bd-pub-li"
2019-05-29 05:48:41 +02:00
}).append($("<div/>", {
"class": "wrapper-25eVIn " + DiscordModules.GuildClasses.circleButtonMask,
2019-05-29 05:48:41 +02:00
"text": "public",
"id": "bd-pub-button",
2019-06-15 04:11:19 +02:00
"click": () => { this.openPublicServers(); }
2019-05-29 05:48:41 +02:00
}));
return btn;
}
};