Update EditServers.plugin.js
This commit is contained in:
parent
213ed9e962
commit
7e6edd76e5
|
@ -1,6 +1,8 @@
|
|||
//META{"name":"EditServers","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/EditServers","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/EditServers/EditServers.plugin.js"}*//
|
||||
|
||||
var EditServers = (_ => {
|
||||
var changedGuilds = {}, settings = {};
|
||||
|
||||
return class EditServers {
|
||||
getName () {return "EditServers";}
|
||||
|
||||
|
@ -78,7 +80,7 @@ var EditServers = (_ => {
|
|||
onClick: _ => {
|
||||
BDFDB.ModalUtils.confirm(this, "Are you sure you want to reset all Servers?", _ => {
|
||||
BDFDB.DataUtils.remove(this, "servers");
|
||||
BDFDB.ModuleUtils.forceAllUpdates(this);;
|
||||
this.forceUpdateAll();;
|
||||
});
|
||||
},
|
||||
children: BDFDB.LanguageUtils.LanguageStrings.RESET
|
||||
|
@ -120,7 +122,7 @@ var EditServers = (_ => {
|
|||
let guild = BDFDB.LibraryModules.GuildStore.getGuild(e.methodArguments[0].id);
|
||||
if (guild) {
|
||||
if (e.methodArguments[0].id == "410787888507256842") return guild.banner;
|
||||
let data = BDFDB.DataUtils.load(this, "servers", guild.id);
|
||||
let data = changedGuilds[guild.id];
|
||||
if (data && data.banner && !data.removeBanner) return data.banner;
|
||||
}
|
||||
return e.callOriginalMethod();
|
||||
|
@ -137,7 +139,7 @@ var EditServers = (_ => {
|
|||
}
|
||||
});
|
||||
|
||||
BDFDB.ModuleUtils.forceAllUpdates(this);
|
||||
this.forceUpdateAll();
|
||||
}
|
||||
else console.error(`%c[${this.getName()}]%c`, "color: #3a71c1; font-weight: 700;", "", "Fatal Error: Could not load BD functions!");
|
||||
}
|
||||
|
@ -146,7 +148,7 @@ var EditServers = (_ => {
|
|||
if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) {
|
||||
this.stopping = true;
|
||||
|
||||
BDFDB.ModuleUtils.forceAllUpdates(this);
|
||||
this.forceUpdateAll();
|
||||
|
||||
for (let guildobj of BDFDB.GuildUtils.getAll()) if (guildobj.instance) delete guildobj.instance.props.guild.EditServersCachedBanner;
|
||||
|
||||
|
@ -176,11 +178,11 @@ var EditServers = (_ => {
|
|||
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
|
||||
label: this.labels.submenu_resetsettings_text,
|
||||
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"),
|
||||
disabled: !BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id),
|
||||
disabled: !changedGuilds[e.instance.props.guild.id],
|
||||
action: _ => {
|
||||
BDFDB.ContextMenuUtils.close(e.instance);
|
||||
BDFDB.DataUtils.remove(this, "servers", e.instance.props.guild.id);
|
||||
BDFDB.ModuleUtils.forceAllUpdates(this);
|
||||
this.forceUpdateAll();
|
||||
}
|
||||
})
|
||||
]
|
||||
|
@ -191,10 +193,10 @@ var EditServers = (_ => {
|
|||
}
|
||||
|
||||
processGuild (e) {
|
||||
if (BDFDB.GuildUtils.is(e.instance.props.guild) && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
|
||||
if (BDFDB.GuildUtils.is(e.instance.props.guild) && settings.changeInGuildList) {
|
||||
e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
|
||||
if (e.returnvalue) {
|
||||
let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
|
||||
let data = changedGuilds[e.instance.props.guild.id];
|
||||
if (data && (data.color3 || data.color4)) {
|
||||
let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: ["GuildTooltip", "BDFDB_TooltipContainer"]});
|
||||
if (index > -1) children[index] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, {
|
||||
|
@ -214,12 +216,12 @@ var EditServers = (_ => {
|
|||
}
|
||||
|
||||
processBlobMask (e) {
|
||||
if (BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
|
||||
if (settings.changeInGuildList) {
|
||||
let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "NavItem"});
|
||||
if (index > -1 && children[index].props.to && children[index].props.to.pathname) {
|
||||
let guild = BDFDB.LibraryModules.GuildStore.getGuild((children[index].props.to.pathname.split("/channels/")[1] || "").split("/")[0]);
|
||||
if (guild) {
|
||||
let data = BDFDB.DataUtils.load(this, "servers", guild.id);
|
||||
let data = changedGuilds[guild.id];
|
||||
if (data) {
|
||||
if (data.shortName) children[index].props.name = data.shortName.split("").join(" ");
|
||||
else if (data.name && data.ignoreCustomName) children[index].props.name = guild.name;
|
||||
|
@ -230,9 +232,9 @@ var EditServers = (_ => {
|
|||
}
|
||||
|
||||
processGuildAcronym (e) {
|
||||
if (typeof e.returnvalue.props.children == "function" && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
|
||||
if (typeof e.returnvalue.props.children == "function" && settings.changeInGuildList) {
|
||||
let pathname = BDFDB.ReactUtils.getValue(e.instance, "props.to.pathname");
|
||||
let data = pathname && BDFDB.DataUtils.load(this, "servers", (pathname.split("/channels/")[1] || "").split("/")[0]);
|
||||
let data = pathname && changedGuilds[(pathname.split("/channels/")[1] || "").split("/")[0]];
|
||||
if (data) {
|
||||
let renderChildren = e.returnvalue.props.children;
|
||||
e.returnvalue.props.children = (...args) => {
|
||||
|
@ -257,7 +259,6 @@ var EditServers = (_ => {
|
|||
|
||||
processGuildIconWrapper (e) {
|
||||
if (BDFDB.GuildUtils.is(e.instance.props.guild)) {
|
||||
let settings = BDFDB.DataUtils.get(this, "settings");
|
||||
if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInGuildList);
|
||||
else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInMutualGuilds);
|
||||
else e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
|
||||
|
@ -266,9 +267,8 @@ var EditServers = (_ => {
|
|||
|
||||
processGuildIcon (e) {
|
||||
if (BDFDB.GuildUtils.is(e.instance.props.guild) && e.instance.props.style && (!e.instance.props.style.backgroundImage || e.instance.props.style.backgroundImage == "none")) {
|
||||
let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
|
||||
let data = changedGuilds[e.instance.props.guild.id];
|
||||
if (data) {
|
||||
let settings = BDFDB.DataUtils.get(this, "settings");
|
||||
if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) this.changeGuildIcon(e, data, settings.changeInGuildList);
|
||||
else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1 || BDFDB.ReactUtils.findConstructor(e.instance, "MutualGuild", {up: true})) this.changeGuildIcon(e, data, settings.changeInMutualGuilds);
|
||||
else this.changeGuildIcon(e, data);
|
||||
|
@ -277,25 +277,25 @@ var EditServers = (_ => {
|
|||
}
|
||||
|
||||
processMutualGuilds (e) {
|
||||
if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i].guild = this.getGuildData(e.instance.props.mutualGuilds[i].guild.id);
|
||||
if (settings.changeInMutualGuilds) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i].guild = this.getGuildData(e.instance.props.mutualGuilds[i].guild.id);
|
||||
}
|
||||
|
||||
processFriendRow (e) {
|
||||
if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i] = this.getGuildData(e.instance.props.mutualGuilds[i].id);
|
||||
if (settings.changeInMutualGuilds) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i] = this.getGuildData(e.instance.props.mutualGuilds[i].id);
|
||||
}
|
||||
|
||||
processQuickSwitcher (e) {
|
||||
if (BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) for (let i in e.instance.props.results) if (e.instance.props.results[i].type == "GUILD") e.instance.props.results[i].record = this.getGuildData(e.instance.props.results[i].record.id);
|
||||
if (settings.changeInQuickSwitcher) for (let i in e.instance.props.results) if (e.instance.props.results[i].type == "GUILD") e.instance.props.results[i].record = this.getGuildData(e.instance.props.results[i].record.id);
|
||||
}
|
||||
|
||||
processQuickSwitchChannelResult (e) {
|
||||
if (e.instance.props.channel && e.instance.props.channel.guild_id && BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) {
|
||||
if (e.instance.props.channel && e.instance.props.channel.guild_id && settings.changeInQuickSwitcher) {
|
||||
e.instance.props.children.props.children = this.getGuildData(e.instance.props.channel.guild_id).name;
|
||||
}
|
||||
}
|
||||
|
||||
processMessagesPopout (e) {
|
||||
if (BDFDB.DataUtils.get(this, "settings", "changeInRecentMentions")) {
|
||||
if (settings.changeInRecentMentions) {
|
||||
let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "VerticalScroller"});
|
||||
if (index > -1 && children[index].props.children && BDFDB.ArrayUtils.is(children[index].props.children[0])) for (let i in children[index].props.children[0]) {
|
||||
let divider = children[index].props.children[0][i];
|
||||
|
@ -312,7 +312,7 @@ var EditServers = (_ => {
|
|||
|
||||
processGuildSidebar (e) {
|
||||
if (e.instance.props.guild) {
|
||||
let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
|
||||
let data = changedGuilds[e.instance.props.guild.id];
|
||||
if (data) {
|
||||
if (data.removeBanner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: null}));
|
||||
else if (data.banner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: data.banner}));
|
||||
|
@ -322,7 +322,6 @@ var EditServers = (_ => {
|
|||
|
||||
processGuildHeader (e) {
|
||||
if (e.instance.props.guild) {
|
||||
let settings = BDFDB.DataUtils.get(this, "settings");
|
||||
if (settings.changeInGuildHeader) {
|
||||
e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
|
||||
let oldName = (BDFDB.LibraryModules.GuildStore.getGuild(e.instance.props.guild.id) || {}).name;
|
||||
|
@ -340,7 +339,7 @@ var EditServers = (_ => {
|
|||
getGuildData (guildId, change = true) {
|
||||
let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId);
|
||||
if (!guild) return new BDFDB.DiscordObjects.Guild({});
|
||||
let data = change && BDFDB.DataUtils.load(this, "servers", guild.id);
|
||||
let data = change && changedGuilds[guild.id];
|
||||
if (data) {
|
||||
let newGuildObject = {}, nativeObject = new BDFDB.DiscordObjects.Guild(guild);
|
||||
for (let key in nativeObject) newGuildObject[key] = nativeObject[key];
|
||||
|
@ -374,11 +373,18 @@ var EditServers = (_ => {
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
forceUpdateAll () {
|
||||
changedGuilds = BDFDB.DataUtils.load(this, "servers");
|
||||
settings = BDFDB.DataUtils.get(this, "settings");
|
||||
|
||||
BDFDB.ModuleUtils.forceAllUpdates(this);
|
||||
}
|
||||
|
||||
openGuildSettingsModal (guildId) {
|
||||
let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId);
|
||||
if (!guild) return;
|
||||
let data = BDFDB.DataUtils.load(this, "servers", guild.id) || {};
|
||||
let data = changedGuilds[guild.id] || {};
|
||||
|
||||
let currentIgnoreCustomNameState = data.ignoreCustomName;
|
||||
|
||||
|
@ -614,7 +620,7 @@ var EditServers = (_ => {
|
|||
let changed = false;
|
||||
if (Object.keys(data).every(key => !data[key]) && (changed = true)) BDFDB.DataUtils.remove(this, "servers", guild.id);
|
||||
else if (!BDFDB.equals(olddata, data) && (changed = true)) BDFDB.DataUtils.save(data, this, "servers", guild.id);
|
||||
if (changed) BDFDB.ModuleUtils.forceAllUpdates(this);;
|
||||
if (changed) this.forceUpdateAll();;
|
||||
}
|
||||
}]
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue