diff --git a/Plugins/ChatAliases/ChatAliases.plugin.js b/Plugins/ChatAliases/ChatAliases.plugin.js index 7aec93ce33..69deb4bb64 100644 --- a/Plugins/ChatAliases/ChatAliases.plugin.js +++ b/Plugins/ChatAliases/ChatAliases.plugin.js @@ -256,7 +256,7 @@ var ChatAliases = (_ => { } injectItem (e, text) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: "Add to ChatAliases", diff --git a/Plugins/ChatFilter/ChatFilter.plugin.js b/Plugins/ChatFilter/ChatFilter.plugin.js index 5262ce35d3..eaa68c149f 100644 --- a/Plugins/ChatFilter/ChatFilter.plugin.js +++ b/Plugins/ChatFilter/ChatFilter.plugin.js @@ -257,7 +257,7 @@ var ChatFilter = (_ => { } injectItem (e, text) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: "Add to ChatFilter", diff --git a/Plugins/CopyRawMessage/CopyRawMessage.plugin.js b/Plugins/CopyRawMessage/CopyRawMessage.plugin.js index 43978986ea..94fb5f1234 100644 --- a/Plugins/CopyRawMessage/CopyRawMessage.plugin.js +++ b/Plugins/CopyRawMessage/CopyRawMessage.plugin.js @@ -69,7 +69,7 @@ var CopyRawMessage = (_ => { label: BDFDB.LanguageUtils.LanguageStrings.COPY_TEXT + " (Raw)", id: BDFDB.ContextMenuUtils.createItemId(this.name, "copy-message"), hint: hint && (_ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuHint, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuHint, { hint: hint }); }), @@ -88,7 +88,7 @@ var CopyRawMessage = (_ => { }) ].filter(n => n); if (entries.length) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: entries })); @@ -98,7 +98,7 @@ var CopyRawMessage = (_ => { onMessageOptionContextMenu (e) { if (e.instance.props.message && e.instance.props.message.content) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "mark-unread"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "mark-unread"}); children.splice(index + 1, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: BDFDB.LanguageUtils.LanguageStrings.COPY_TEXT + " (Raw)", id: BDFDB.ContextMenuUtils.createItemId(this.name, "copy-message"), diff --git a/Plugins/EditChannels/EditChannels.plugin.js b/Plugins/EditChannels/EditChannels.plugin.js index c5f6bf8f6a..955776e2d8 100644 --- a/Plugins/EditChannels/EditChannels.plugin.js +++ b/Plugins/EditChannels/EditChannels.plugin.js @@ -159,7 +159,7 @@ var EditChannels = (_ => { onChannelContextMenu (e) { if (e.instance.props.channel) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.context_localchannelsettings_text, diff --git a/Plugins/EditServers/EditServers.plugin.js b/Plugins/EditServers/EditServers.plugin.js index 825ccd456c..3291113fcd 100644 --- a/Plugins/EditServers/EditServers.plugin.js +++ b/Plugins/EditServers/EditServers.plugin.js @@ -158,7 +158,7 @@ var EditServers = (_ => { onGuildContextMenu (e) { if (e.instance.props.guild) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.context_localserversettings_text, diff --git a/Plugins/EditUsers/EditUsers.plugin.js b/Plugins/EditUsers/EditUsers.plugin.js index 20e530ddd0..bb5f432147 100644 --- a/Plugins/EditUsers/EditUsers.plugin.js +++ b/Plugins/EditUsers/EditUsers.plugin.js @@ -235,7 +235,7 @@ var EditUsers = (_ => { onUserContextMenu (e) { if (e.instance.props.user) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: [ BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { diff --git a/Plugins/GoogleSearchReplace/GoogleSearchReplace.plugin.js b/Plugins/GoogleSearchReplace/GoogleSearchReplace.plugin.js index 3d296f697e..fdeafc0372 100644 --- a/Plugins/GoogleSearchReplace/GoogleSearchReplace.plugin.js +++ b/Plugins/GoogleSearchReplace/GoogleSearchReplace.plugin.js @@ -127,7 +127,7 @@ var GoogleSearchReplace = (_ => { } injectItem (e) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "search-google"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "search-google"}); if (index > -1) { let text = document.getSelection().toString(); let enabledEngines = BDFDB.ObjectUtils.filter(BDFDB.DataUtils.get(this, "engines"), n => n); diff --git a/Plugins/GoogleTranslateOption/GoogleTranslateOption.plugin.js b/Plugins/GoogleTranslateOption/GoogleTranslateOption.plugin.js index 9928e7c5fe..eb6adf1da0 100644 --- a/Plugins/GoogleTranslateOption/GoogleTranslateOption.plugin.js +++ b/Plugins/GoogleTranslateOption/GoogleTranslateOption.plugin.js @@ -171,12 +171,12 @@ var GoogleTranslateOption = (_ => { if (e.instance.props.message && e.instance.props.channel) { let translated = translatedMessages[e.instance.props.message.id]; let hint = BDFDB.BDUtils.isPluginEnabled("MessageUtilities") ? BDFDB.BDUtils.getPlugin("MessageUtilities").getActiveShortcutString("__Translate_Message") : null; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", ["pin", "unpin"]]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: ["pin", "unpin"]}); children.splice(index > -1 ? index + 1: 0, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: translated ? this.labels.context_messageuntranslateoption_text : this.labels.context_messagetranslateoption_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, translated ? "untranslate-message" : "translate-message"), hint: hint && (_ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuHint, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuHint, { hint: hint }); }), @@ -202,7 +202,7 @@ var GoogleTranslateOption = (_ => { let text = document.getSelection().toString(); if (text) { let translating, foundTranslation, foundInput, foundOutput; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", ["devmode-copy-id", "search-google"]]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: ["devmode-copy-id", "search-google"], group: true}); children.splice(index > -1 ? index + 1 : 0, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuPersistingItem, { id: BDFDB.ContextMenuUtils.createItemId(this.name, "search-translation"), disabled: isTranslating, @@ -238,13 +238,13 @@ var GoogleTranslateOption = (_ => { onMessageOptionContextMenu (e) { if (e.instance.props.message && e.instance.props.channel) { let translated = !!translatedMessages[e.instance.props.message.id]; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", ["pin", "unpin"]]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: ["pin", "unpin"]}); children.splice(index + 1, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: translated ? this.labels.context_messageuntranslateoption_text : this.labels.context_messagetranslateoption_text, disabled: isTranslating, id: BDFDB.ContextMenuUtils.createItemId(this.name, translated ? "untranslate-message" : "translate-message"), icon: _ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuIcon, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuIcon, { icon: translated ? translateIconUntranslate : translateIcon }); }, diff --git a/Plugins/PersonalPins/PersonalPins.plugin.js b/Plugins/PersonalPins/PersonalPins.plugin.js index 2ab241b360..4e1f7bcca9 100644 --- a/Plugins/PersonalPins/PersonalPins.plugin.js +++ b/Plugins/PersonalPins/PersonalPins.plugin.js @@ -100,12 +100,12 @@ var PersonalPins = (_ => { if (e.instance.props.message && e.instance.props.channel) { let note = this.getNoteData(e.instance.props.message, e.instance.props.channel); let hint = BDFDB.BDUtils.isPluginEnabled("MessageUtilities") ? BDFDB.BDUtils.getPlugin("MessageUtilities").getActiveShortcutString("__Note_Message") : null; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", ["pin", "unpin"]]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: ["pin", "unpin"]}); children.splice(index > -1 ? index + 1: 0, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: note ? this.labels.context_unpinoption_text : this.labels.context_pinoption_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, note ? "unpin-note" : "pin-note"), hint: hint && (_ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuHint, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuHint, { hint: hint }); }), @@ -128,12 +128,12 @@ var PersonalPins = (_ => { onMessageOptionContextMenu (e) { if (e.instance.props.message && e.instance.props.channel) { let note = this.getNoteData(e.instance.props.message, e.instance.props.channel); - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", ["pin", "unpin"]]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: ["pin", "unpin"]}); children.splice(index + 1, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: note ? this.labels.context_unpinoption_text : this.labels.context_pinoption_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, note ? "unpin-note" : "pin-note"), icon: _ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuIcon, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuIcon, { icon: note ? pinIconDelete : pinIcon }); }, @@ -145,7 +145,7 @@ var PersonalPins = (_ => { label: this.labels.context_updateoption_text, id: "update-note", icon: _ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuIcon, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuIcon, { icon: pinIconUpdate }); }, diff --git a/Plugins/PinDMs/PinDMs.plugin.js b/Plugins/PinDMs/PinDMs.plugin.js index 4b9917e48a..4c5b00221a 100644 --- a/Plugins/PinDMs/PinDMs.plugin.js +++ b/Plugins/PinDMs/PinDMs.plugin.js @@ -206,7 +206,7 @@ var PinDMs = (_ => { onUserContextMenu (e) { if (e.instance.props.user) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "close-dm"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "close-dm"}); if (index > -1) { let id = BDFDB.LibraryModules.ChannelStore.getDMFromUserId(e.instance.props.user.id); if (id) this.injectItem(e.instance, id, children, index); @@ -216,7 +216,7 @@ var PinDMs = (_ => { onGroupDMContextMenu (e) { if (e.instance.props.channel) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "change-icon"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "change-icon"}); if (index > -1) this.injectItem(e.instance, e.instance.props.channel.id, children, index + 1); } } diff --git a/Plugins/RevealAllSpoilersOption/RevealAllSpoilersOption.plugin.js b/Plugins/RevealAllSpoilersOption/RevealAllSpoilersOption.plugin.js index f18df677d4..d01f148da6 100644 --- a/Plugins/RevealAllSpoilersOption/RevealAllSpoilersOption.plugin.js +++ b/Plugins/RevealAllSpoilersOption/RevealAllSpoilersOption.plugin.js @@ -65,13 +65,13 @@ var RevealAllSpoilersOption = (_ => { let messageDiv = BDFDB.DOMUtils.getParent(BDFDB.dotCN.message, e.instance.props.target); if (!messageDiv || !messageDiv.querySelector(BDFDB.dotCN.spoilerhidden)) return; let hint = BDFDB.BDUtils.isPluginEnabled("MessageUtilities") ? BDFDB.BDUtils.getPlugin("MessageUtilities").getActiveShortcutString("__Reveal_Spoilers") : null; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: "Reveal all Spoilers", id: BDFDB.ContextMenuUtils.createItemId(this.name, "reveal-all"), hint: hint && (_ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuHint, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuHint, { hint: hint }); }), diff --git a/Plugins/ReverseImageSearch/ReverseImageSearch.plugin.js b/Plugins/ReverseImageSearch/ReverseImageSearch.plugin.js index 0687894c73..2cd810334f 100644 --- a/Plugins/ReverseImageSearch/ReverseImageSearch.plugin.js +++ b/Plugins/ReverseImageSearch/ReverseImageSearch.plugin.js @@ -6,7 +6,7 @@ var ReverseImageSearch = (_ => { return class ReverseImageSearch { getName () {return "ReverseImageSearch";} - getVersion () {return "3.5.5";} + getVersion () {return "3.5.6";} getAuthor () {return "DevilBro";} @@ -125,7 +125,7 @@ var ReverseImageSearch = (_ => { onGuildContextMenu (e) { if (e.instance.props.guild && e.instance.props.target) { - let guildIcon = BDFDB.DOMUtils.containsClass(e.instance.props.target, BDFDB.disCN.avataricon) ? e.instance.props.target : e.instance.props.target.querySelector(BDFDB.dotCN.guildIcon); + let guildIcon = BDFDB.DOMUtils.containsClass(e.instance.props.target, BDFDB.disCN.avataricon) ? e.instance.props.target : e.instance.props.target.querySelector(BDFDB.dotCN.guildicon); if (guildIcon && BDFDB.DataUtils.get(this, "settings", "addGuildIconEntry")) this.injectItem(e, guildIcon.tagName == "IMG" ? guildIcon.getAttribute("src") : guildIcon.style.getPropertyValue("background-image")); } } @@ -165,7 +165,7 @@ var ReverseImageSearch = (_ => { let enabledEngines = BDFDB.ObjectUtils.filter(BDFDB.DataUtils.get(this, "engines"), n => n); let enginesWithoutAll = BDFDB.ObjectUtils.filter(enabledEngines, n => n != "_all", true); let engineKeys = Object.keys(enginesWithoutAll); - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); if (engineKeys.length == 1) { children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.context_reverseimagesearch_text.replace("...", this.defaults.engines[engineKeys[0]].name), diff --git a/Plugins/ServerFolders/ServerFolders.plugin.js b/Plugins/ServerFolders/ServerFolders.plugin.js index 59c8356f1d..e98cf7bcd7 100644 --- a/Plugins/ServerFolders/ServerFolders.plugin.js +++ b/Plugins/ServerFolders/ServerFolders.plugin.js @@ -276,7 +276,7 @@ var ServerFolders = (_ => { return class ServerFolders { getName () {return "ServerFolders";} - getVersion () {return "6.7.7";} + getVersion () {return "6.7.8";} getAuthor () {return "DevilBro";} @@ -499,7 +499,7 @@ var ServerFolders = (_ => { let folders = BDFDB.LibraryModules.FolderStore.guildFolders.filter(n => n.folderId); let folder = BDFDB.GuildUtils.getFolder(e.instance.props.guild.id); let unfolderedGuilds = BDFDB.LibraryModules.FolderStore.getSortedGuilds().filter(n => !n.folderId).map(n => n.guilds[0]).filter(n => n); - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.servercontext_serverfolders_text, @@ -553,33 +553,25 @@ var ServerFolders = (_ => { data.muteFolder = muted; BDFDB.DataUtils.save(data, this, "folders", e.instance.props.folderId); } - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "mark-folder-read"]]}); - children.splice(index > -1 ? index + 1 : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "mark-folder-read"}); + children.splice(index > -1 ? index + 1 : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuCheckboxItem, { + label: this.labels.foldercontext_autoreadfolder_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, "auto-read-folder"), - render: itemData => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuCheckboxItem, Object.assign({ - label: this.labels.foldercontext_autoreadfolder_text, - checked: data.autoRead, - action: state => { - data.autoRead = state; - BDFDB.DataUtils.save(data, this, "folders", e.instance.props.folderId); - } - }, itemData)); + checked: data.autoRead, + action: state => { + data.autoRead = state; + BDFDB.DataUtils.save(data, this, "folders", e.instance.props.folderId); } })); e.returnvalue.props.children.splice(e.returnvalue.props.children.length - 1, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { - children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuCheckboxItem, { + label: this.labels.foldercontext_mutefolder_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, "mute-folder"), - render: itemData => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuCheckboxItem, Object.assign({ - label: this.labels.foldercontext_mutefolder_text, - checked: muted, - action: state => { - data.muteFolder = state; - BDFDB.DataUtils.save(data, this, "folders", e.instance.props.folderId); - for (let guildid of folder.guildIds) if (BDFDB.LibraryModules.MutedUtils.isGuildOrCategoryOrChannelMuted(guildid) != state) BDFDB.LibraryModules.GuildSettingsUtils.updateNotificationSettings(guildid, {muted:state, suppress_everyone:state, suppress_roles:state}); - } - }, itemData)); + checked: muted, + action: state => { + data.muteFolder = state; + BDFDB.DataUtils.save(data, this, "folders", e.instance.props.folderId); + for (let guildid of folder.guildIds) if (BDFDB.LibraryModules.MutedUtils.isGuildOrCategoryOrChannelMuted(guildid) != state) BDFDB.LibraryModules.GuildSettingsUtils.updateNotificationSettings(guildid, {muted:state, suppress_everyone:state, suppress_roles:state}); } }) })); diff --git a/Plugins/ServerHider/ServerHider.plugin.js b/Plugins/ServerHider/ServerHider.plugin.js index 598f20b02f..995a500e05 100644 --- a/Plugins/ServerHider/ServerHider.plugin.js +++ b/Plugins/ServerHider/ServerHider.plugin.js @@ -103,18 +103,18 @@ var ServerHider = (_ => { onGuildContextMenu (e) { if (document.querySelector(BDFDB.dotCN.modalwrapper)) return; if (e.type == "GuildIconNewContextMenu") { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "create"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "create", group: true}); this.injectItem(e.instance, children, -1); } else { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); this.injectItem(e.instance, children, index); } } onGuildFolderContextMenu (e) { if (document.querySelector(BDFDB.dotCN.modalwrapper)) return; - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); this.injectItem(e.instance, children, index); } diff --git a/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js b/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js index 18c68cfdcf..b2b14bfe32 100644 --- a/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js +++ b/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js @@ -221,7 +221,7 @@ var ShowHiddenChannels = (_ => { } let isHidden = this.isChannelHidden(e.instance.props.channel.id); if (isHidden || BDFDB.DataUtils.get(this, "settings", "showForNormal")) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: BDFDB.LanguageUtils.LanguageStrings.CHANNEL + " " + BDFDB.LanguageUtils.LanguageStrings.ACCESSIBILITY, diff --git a/Plugins/SpellCheck/SpellCheck.plugin.js b/Plugins/SpellCheck/SpellCheck.plugin.js index b7903084cf..ea3c7b3153 100644 --- a/Plugins/SpellCheck/SpellCheck.plugin.js +++ b/Plugins/SpellCheck/SpellCheck.plugin.js @@ -158,7 +158,7 @@ var SpellCheck = (_ => { // Begin of own functions onSlateContextMenu (e) { - let [SCparent, SCindex] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "spellcheck"]]}); + let [SCparent, SCindex] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "spellcheck"}); if (SCindex > -1) SCparent.splice(SCindex, 1); let textarea = BDFDB.DOMUtils.getParent(BDFDB.dotCN.textarea, e.instance.props.target), word = null; if (textarea) for (let error of textarea.parentElement.querySelectorAll(BDFDB.dotCN._spellcheckerror)) { @@ -170,7 +170,7 @@ var SpellCheck = (_ => { } if (word && this.isWordNotInDictionary(word)) { let similarWords = this.getSimilarWords(word.toLowerCase().trim()); - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: BDFDB.LanguageUtils.LanguageStrings.SPELLCHECK, @@ -180,7 +180,7 @@ var SpellCheck = (_ => { label: this.labels.context_spellcheck_text, id: BDFDB.ContextMenuUtils.createItemId(this.name, "add-to-spellcheck"), hint: _ => { - return BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuHint, { + return BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.MenuItems.MenuHint, { hint: word }); }, diff --git a/Plugins/UserNotes/UserNotes.plugin.js b/Plugins/UserNotes/UserNotes.plugin.js index 6b0a084d66..42fa027fbd 100644 --- a/Plugins/UserNotes/UserNotes.plugin.js +++ b/Plugins/UserNotes/UserNotes.plugin.js @@ -89,7 +89,7 @@ var UserNotes = (_ => { onUserContextMenu (e) { if (e.instance.props.user) { - let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["id", "devmode-copy-id"]]}); + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: BDFDB.LanguageUtils.LanguageStrings.USERS + " " + BDFDB.LanguageUtils.LanguageStrings.NOTE,