Readded the options to disabled EditUsers for certain elements
This commit is contained in:
parent
876d38beb4
commit
b822039a04
|
@ -15,7 +15,8 @@ class EditUsers {
|
|||
"PrivateChannel":"componentDidMount",
|
||||
"HeaderBar":["componentDidMount","componentDidUpdate"],
|
||||
"Clickable":"componentDidMount",
|
||||
"MessageContent":["componentDidMount","componentDidUpdate"]
|
||||
"MessageContent":["componentDidMount","componentDidUpdate"],
|
||||
"StandardSidebarView":"componentWillUnmount"
|
||||
};
|
||||
|
||||
this.css = `
|
||||
|
@ -142,13 +143,36 @@ class EditUsers {
|
|||
</div>
|
||||
</div>
|
||||
</span>`;
|
||||
|
||||
this.defaults = {
|
||||
settings: {
|
||||
changeInChatTextarea: {value:true, description:"Chat Textarea"},
|
||||
changeInChatWindow: {value:true, description:"Messages"},
|
||||
changeInMentions: {value:true, description:"Mentions"},
|
||||
changeInVoiceChat: {value:true, description:"Voice Channels"},
|
||||
changeInMemberList: {value:true, description:"Member List"},
|
||||
changeInRecentDms: {value:true, description:"Direct Message Notifications"},
|
||||
changeInDmsList: {value:true, description:"Direct Message List"},
|
||||
changeInDmHeader: {value:true, description:"Direct Message Header"},
|
||||
changeInDmCalls: {value:true, description:"Direct Message Calls"},
|
||||
changeInTyping: {value:true, description:"Typing List"},
|
||||
changeInFriendList: {value:true, description:"Friend List"},
|
||||
changeInActivity: {value:true, description:"Activity Page"},
|
||||
changeInUserPopout: {value:true, description:"User Popouts"},
|
||||
changeInUserProfil: {value:true, description:"User Profil Modal"},
|
||||
changeInAutoComplete: {value:true, description:"Autocomplete Menu"},
|
||||
changeInAuditLog: {value:true, description:"Audit Log"},
|
||||
changeInSearchPopout: {value:true, description:"Search Popout"},
|
||||
changeInUserAccount: {value:true, description:"Your Account Information"}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
getName () {return "EditUsers";}
|
||||
|
||||
getDescription () {return "Allows you to change the icon, name, tag and color of users. Does not work in compact mode.";}
|
||||
|
||||
getVersion () {return "3.1.1";}
|
||||
getVersion () {return "3.1.2";}
|
||||
|
||||
getAuthor () {return "DevilBro";}
|
||||
|
||||
|
@ -156,6 +180,11 @@ class EditUsers {
|
|||
if (!this.started || typeof BDFDB !== "object") return;
|
||||
var settings = BDFDB.getAllData(this, "settings");
|
||||
var settingshtml = `<div class="${this.getName()}-settings DevilBro-settings"><div class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.size18 + BDFDB.disCNS.height24 + BDFDB.disCNS.weightnormal + BDFDB.disCN.marginbottom8}">${this.getName()}</div><div class="DevilBro-settings-inner">`;
|
||||
settingshtml += `<div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;"><h3 class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style="flex: 0 0 auto;">Change User in:</h3></div><div class="DevilBro-settings-inner-list">`;
|
||||
for (let key in settings) {
|
||||
settingshtml += `<div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;"><h3 class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style="flex: 1 1 auto;">${this.defaults.settings[key].description}</h3><div class="${BDFDB.disCNS.flexchild + BDFDB.disCNS.switchenabled + BDFDB.disCNS.switch + BDFDB.disCNS.switchvalue + BDFDB.disCNS.switchsizedefault + BDFDB.disCNS.switchsize + BDFDB.disCN.switchthemedefault}" style="flex: 0 0 auto;"><input type="checkbox" value="${key}" class="${BDFDB.disCNS.switchinnerenabled + BDFDB.disCN.switchinner}"${settings[key] ? " checked" : ""}></div></div>`;
|
||||
}
|
||||
settingshtml += `</div>`;
|
||||
settingshtml += `<div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 0 0 auto;"><h3 class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style="flex: 1 1 auto;">Reset all Users.</h3><button type="button" class="${BDFDB.disCNS.flexchild + BDFDB.disCNS.button + BDFDB.disCNS.buttonlookfilled + BDFDB.disCNS.buttoncolorred + BDFDB.disCNS.buttonsizemedium + BDFDB.disCN.buttongrow} reset-button" style="flex: 0 0 auto;"><div class="${BDFDB.disCN.buttoncontents}">Reset</div></button></div>`;
|
||||
settingshtml += `</div></div>`;
|
||||
|
||||
|
@ -224,6 +253,15 @@ class EditUsers {
|
|||
|
||||
// begin of own functions
|
||||
|
||||
updateSettings (settingspanel) {
|
||||
var settings = {};
|
||||
for (var input of settingspanel.querySelectorAll(BDFDB.dotCN.switchinner)) {
|
||||
settings[input.value] = input.checked;
|
||||
}
|
||||
BDFDB.saveAllData(settings, this, "settings");
|
||||
this.updateUsers = true;
|
||||
}
|
||||
|
||||
changeLanguageStrings () {
|
||||
this.userContextEntryMarkup = this.userContextEntryMarkup.replace("REPLACE_context_localusersettings_text", this.labels.context_localusersettings_text);
|
||||
|
||||
|
@ -273,17 +311,7 @@ class EditUsers {
|
|||
}
|
||||
|
||||
showUserSettings (info, e) {
|
||||
var data = BDFDB.loadData(info.id, this, "users");
|
||||
|
||||
var name = data ? data.name : null;
|
||||
var tag = data ? data.tag : null;
|
||||
var url = data ? data.url : null;
|
||||
var removeIcon = data ? data.removeIcon : false;
|
||||
var ignoreTagColor = data ? data.ignoreTagColor : false;
|
||||
var color1 = data ? data.color1 : null;
|
||||
var color2 = data ? data.color2 : null;
|
||||
var color3 = data ? data.color3 : null;
|
||||
var color4 = data ? data.color4 : null;
|
||||
var {name,tag,url,removeIcon,ignoreTagColor,color1,color2,color3,color4} = BDFDB.loadData(info.id, this, "users") || {};
|
||||
|
||||
var member = this.MemberUtils.getMember(this.LastGuildStore.getGuildId(), info.id) ;
|
||||
|
||||
|
@ -329,27 +357,21 @@ class EditUsers {
|
|||
ignoreTagColor = userSettingsModal.find("#input-ignoretagcolor").prop("checked");
|
||||
|
||||
name = null;
|
||||
if (userSettingsModal.find("#input-username").val()) {
|
||||
if (userSettingsModal.find("#input-username").val().trim().length > 0) {
|
||||
if (userSettingsModal.find("#input-username").val() && userSettingsModal.find("#input-username").val().trim().length > 0) {
|
||||
name = userSettingsModal.find("#input-username").val().trim();
|
||||
}
|
||||
}
|
||||
|
||||
tag = null;
|
||||
if (userSettingsModal.find("#input-usertag").val()) {
|
||||
if (userSettingsModal.find("#input-usertag").val().trim().length > 0) {
|
||||
if (userSettingsModal.find("#input-usertag").val() && userSettingsModal.find("#input-usertag").val().trim().length > 0) {
|
||||
tag = userSettingsModal.find("#input-usertag").val().trim();
|
||||
}
|
||||
}
|
||||
|
||||
if (userSettingsModal.find("#input-userurl:not('.invalid')").length > 0) {
|
||||
url = null;
|
||||
if (!removeIcon && userSettingsModal.find("#input-userurl").val()) {
|
||||
if (userSettingsModal.find("#input-userurl").val().trim().length > 0) {
|
||||
if (!removeIcon && userSettingsModal.find("#input-userurl").val() && userSettingsModal.find("#input-userurl").val().trim().length > 0) {
|
||||
url = userSettingsModal.find("#input-userurl").val().trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
color1 = BDFDB.getSwatchColor(userSettingsModal, 1);
|
||||
color2 = BDFDB.getSwatchColor(userSettingsModal, 2);
|
||||
|
@ -410,7 +432,7 @@ class EditUsers {
|
|||
if (instance.props && instance.props.type == "normal" && instance.props.channel && instance.props.channel.type == 1) {
|
||||
let user = this.UserUtils.getUser(instance.props.channel.recipients[0]);
|
||||
if (user) {
|
||||
let data = BDFDB.loadData(user.id, this, "users") || {};
|
||||
let data = this.getUserData(user.id, wrapper);
|
||||
wrapper.querySelector("textarea").setAttribute("placeholder", BDFDB.LanguageStrings.TEXTAREA_PLACEHOLDER.replace("{{channel}}", "@" + (data.name || user.username)));
|
||||
}
|
||||
}
|
||||
|
@ -570,16 +592,23 @@ class EditUsers {
|
|||
let markup = wrapper.querySelector(BDFDB.dotCN.messagemarkup);
|
||||
if (markup) {
|
||||
let info = instance.props.message.author;
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, wrapper);
|
||||
markup.style.setProperty("color", settingsCookie["bda-gs-7"] ? BDFDB.colorCONVERT(data.color1 || info.colorString, "RGB") : null, "important");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processStandardSidebarView (instance, wrapper) {
|
||||
if (this.updateUsers) {
|
||||
this.updateUsers = false;
|
||||
BDFDB.WebModules.forceAllUpdates(this);
|
||||
}
|
||||
}
|
||||
|
||||
changeName (info, username, guildid = this.LastGuildStore.getGuildId()) {
|
||||
if (!info || !username || !username.parentElement) return;
|
||||
if (username.EditUsersChangeObserver && typeof username.EditUsersChangeObserver.disconnect == "function") username.EditUsersChangeObserver.disconnect();
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, username);
|
||||
let member = this.MemberUtils.getMember(guildid, info.id) || {};
|
||||
let usenick = !username.classList.contains(BDFDB.disCN.userprofileusername) && !username.parentElement.classList.contains(BDFDB.disCN.accountinfodetails) && member.nick;
|
||||
let changecolor = username.classList.contains(BDFDB.disCN.memberusername) || username.classList.contains(BDFDB.disCN.messageusername) || BDFDB.isPluginEnabled("BetterRoleColors");
|
||||
|
@ -609,7 +638,7 @@ class EditUsers {
|
|||
changeName2 (info, username, guildid = this.LastGuildStore.getGuildId()) {
|
||||
if (!info || !username || !username.parentElement) return;
|
||||
if (username.EditUsersChangeObserver && typeof username.EditUsersChangeObserver.disconnect == "function") username.EditUsersChangeObserver.disconnect();
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, username);
|
||||
let member = this.MemberUtils.getMember(guildid, info.id) || {};
|
||||
let color1 = BDFDB.colorCONVERT(data.color1 || (BDFDB.isPluginEnabled("BetterRoleColors") ? member.colorString : null), "RGB");
|
||||
username.style.setProperty("color", color1, "important");
|
||||
|
@ -626,8 +655,8 @@ class EditUsers {
|
|||
changeName3 (info, username, adddisc) {
|
||||
if (!info || !username || !username.parentElement) return;
|
||||
if (username.EditUsersChangeObserver && typeof username.EditUsersChangeObserver.disconnect == "function") username.EditUsersChangeObserver.disconnect();
|
||||
let data = BDFDB.loadData(info.id, this, "users");
|
||||
if (data) {
|
||||
let data = this.getUserData(info.id, username);
|
||||
if (!BDFDB.isObjectEmpty(data)) {
|
||||
let color1 = BDFDB.colorCONVERT(data.color1, "RGB");
|
||||
if (adddisc) {
|
||||
username.innerHTML = `<span ${color1 ? 'style="color:' + color1 + '!important;"': ''}>${BDFDB.encodeToHTML(data.name || info.username)}</span><span>#${info.discriminator}</span>`;
|
||||
|
@ -647,7 +676,7 @@ class EditUsers {
|
|||
changeAvatar (info, avatar) {
|
||||
if (!info || !avatar || !avatar.parentElement) return;
|
||||
if (avatar.EditUsersChangeObserver && typeof avatar.EditUsersChangeObserver.disconnect == "function") avatar.EditUsersChangeObserver.disconnect();
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, avatar);
|
||||
if (avatar.tagName == "IMG") avatar.setAttribute("src", data.removeIcon ? null : (data.url || BDFDB.getUserAvatar(info.id)));
|
||||
else {
|
||||
let url = data.removeIcon ? null : ("url(" + (data.url || BDFDB.getUserAvatar(info.id)) + ") center/cover");
|
||||
|
@ -669,7 +698,7 @@ class EditUsers {
|
|||
|
||||
changeTooltip (info, wrapper, type) {
|
||||
if (!info || !wrapper || !wrapper.parentElement) return;
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, wrapper);
|
||||
$(wrapper).off("mouseenter." + this.getName());
|
||||
if (data.name) $(wrapper).on("mouseenter." + this.getName(), () => {
|
||||
BDFDB.createTooltip(data.name, wrapper, {type,selector:"EditUsers-tooltip",css:`body ${BDFDB.dotCN.tooltip}:not(.EditUsers-tooltip) {display: none !important;}`});
|
||||
|
@ -679,8 +708,8 @@ class EditUsers {
|
|||
addTag (info, wrapper, selector = "") {
|
||||
if (!info || !wrapper || !wrapper.parentElement || wrapper.classList.contains(BDFDB.disCN.accountinfodetails) || wrapper.classList.contains("discord-tag")) return;
|
||||
BDFDB.removeEles(wrapper.querySelectorAll(".EditUsers-tag"));
|
||||
let data = BDFDB.loadData(info.id, this, "users");
|
||||
if (data && data.tag) {
|
||||
let data = this.getUserData(info.id, wrapper);
|
||||
if (data.tag) {
|
||||
let member = data.ignoreTagColor ? (this.MemberUtils.getMember(this.LastGuildStore.getGuildId(), info.id) || {}) : {};
|
||||
let color3 = BDFDB.colorCONVERT(!data.ignoreTagColor ? data.color3 : member.colorString, "RGB");
|
||||
let color3COMP = color3 ? BDFDB.colorCONVERT(color3, "RGBCOMP") : [0,0,0];
|
||||
|
@ -697,7 +726,7 @@ class EditUsers {
|
|||
changeMention (info, mention) {
|
||||
if (!info || !mention || !mention.parentElement) return;
|
||||
if (mention.EditUsersChangeObserver && typeof mention.EditUsersChangeObserver.disconnect == "function") mention.EditUsersChangeObserver.disconnect();
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
let data = this.getUserData(info.id, mention);
|
||||
let member = this.MemberUtils.getMember(this.LastGuildStore.getGuildId(), info.id) || {};
|
||||
let color1 = BDFDB.colorCONVERT(data.color1 || (BDFDB.isPluginEnabled("BetterRoleColors") ? member.colorString : null), "RGBCOMP");
|
||||
BDFDB.setInnerText(mention, "@" + (data.name || member.nick || info.username));
|
||||
|
@ -730,11 +759,19 @@ class EditUsers {
|
|||
|
||||
changeVoiceUser (info, username) {
|
||||
if (!info || !username || !username.parentElement) return;
|
||||
let data = BDFDB.loadData(info.id, this, "users") || {};
|
||||
if (username.EditUsersChangeObserver && typeof username.EditUsersChangeObserver.disconnect == "function") username.EditUsersChangeObserver.disconnect();
|
||||
let data = this.getUserData(info.id, username);
|
||||
let member = this.MemberUtils.getMember(this.LastGuildStore.getGuildId(), info.id) || {};
|
||||
let color1 = BDFDB.colorCONVERT(data.color1 ? data.color1 : (BDFDB.isPluginEnabled("BetterRoleColors") ? member.colorString : ""), "RGB");
|
||||
BDFDB.setInnerText(username, data.name || member.nick || info.username);
|
||||
username.style.setProperty("color", !username.classList.contains(BDFDB.disCN.voicenamedefault) ? BDFDB.colorCHANGE(color1, -50) : color1, "important");
|
||||
username.style.setProperty("color", username.classList.contains(BDFDB.disCN.voicenamedefault) ? BDFDB.colorCHANGE(color1, -50) : color1, "important");
|
||||
if (!BDFDB.isObjectEmpty(data)) {
|
||||
username.EditUsersChangeObserver = new MutationObserver((changes, _) => {
|
||||
username.EditUsersChangeObserver.disconnect();
|
||||
this.changeVoiceUser(info, username);
|
||||
});
|
||||
username.EditUsersChangeObserver.observe(username, {attributes:true});
|
||||
}
|
||||
}
|
||||
|
||||
getAvatarDiv (wrapper) {
|
||||
|
@ -746,6 +783,36 @@ class EditUsers {
|
|||
return avatar.firstElementChild || avatar;
|
||||
}
|
||||
|
||||
getUserData (id, wrapper) {
|
||||
let data = BDFDB.loadData(id, this, "users");
|
||||
if (!data) return {};
|
||||
let allenabled = true, settings = BDFDB.getAllData(this, "settings");
|
||||
for (let i in settings) if (!settings[i]) allenabled = false;
|
||||
if (allenabled) return data;
|
||||
let key = null, ele = null;
|
||||
if (!wrapper.classList.contains(BDFDB.disCN.mention) && BDFDB.getParentEle(BDFDB.dotCN.messagegroup, wrapper)) key = "changeInChatWindow";
|
||||
else if (wrapper.classList.contains(BDFDB.disCN.mention)) key = "changeInMentions";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.textareawrapchat, wrapper)) key = "changeInChatTextarea";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.voiceuser, wrapper)) key = "changeInVoiceChat";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.members, wrapper)) key = "changeInMemberList";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.dms, wrapper)) key = "changeInRecentDms";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.dmchannels, wrapper)) key = "changeInDmsList";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.channelheaderheaderbar, wrapper)) key = "changeInDmHeader";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.callavatarwrapper, wrapper)) key = "changeInDmCalls";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.callincoming, wrapper) || BDFDB.getParentEle(BDFDB.dotCN.callcurentcontainer, wrapper)) key = "changeInDmCalls";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.typing, wrapper)) key = "changeInTyping";
|
||||
else if (BDFDB.getParentEle(BDFDB.idCN.friends, wrapper) || BDFDB.getParentEle(BDFDB.dotCN.userprofilebody, wrapper)) key = "changeInFriendList";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.activityfeed, wrapper)) key = "changeInActivity";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.userpopout, wrapper)) key = "changeInUserPopout";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.userprofileheader, wrapper)) key = "changeInUserProfil";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.autocomplete, wrapper)) key = "changeInAutoComplete";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.auditlog, wrapper)) key = "changeInAuditLog";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.searchpopout, wrapper) || BDFDB.getParentEle(BDFDB.dotCN.searchpopoutdmaddpopout, wrapper)) key = "changeInSearchPopout";
|
||||
else if (BDFDB.getParentEle(BDFDB.dotCN.accountinfo, wrapper)) key = "changeInUserAccount";
|
||||
|
||||
return !key || BDFDB.getData(key, this, "settings") ? data : {};
|
||||
}
|
||||
|
||||
setLabelsByLanguage () {
|
||||
switch (BDFDB.getDiscordLanguage().id) {
|
||||
case "hr": //croatian
|
||||
|
|
Loading…
Reference in New Issue