diff --git a/Library/0BDFDB.plugin.js b/Library/0BDFDB.plugin.js index d4f11842d2..4c7913b61c 100644 --- a/Library/0BDFDB.plugin.js +++ b/Library/0BDFDB.plugin.js @@ -2,7 +2,7 @@ * @name BDFDB * @author DevilBro * @authorId 278543574059057154 - * @version 3.0.4 + * @version 3.0.5 * @description Required Library for DevilBro's Plugins * @invite Jx3TjNS * @donate https://www.paypal.me/MircoWittrien @@ -4169,21 +4169,26 @@ module.exports = (_ => { BDFDB.DiscordUtils.rerenderAll = function (instant) { BDFDB.TimeUtils.clear(BDFDB.DiscordUtils.rerenderAll.timeout); BDFDB.DiscordUtils.rerenderAll.timeout = BDFDB.TimeUtils.timeout(_ => { - let I18nLoaderWrapperIns = BDFDB.ReactUtils.findOwner(document.querySelector(BDFDB.dotCN.appmount).firstElementChild, {up: true, unlimited: true, filter: n => n && n.type && typeof n.type.displayName == "string" && n.type.displayName.indexOf("FluxContainer") == 0 && n.stateNode.listener && n.stateNode.listener.stores && n.stateNode.listener.stores.some(k => k && k.getName && k.getName() == "LocaleStore")}); - if (!I18nLoaderWrapperIns) return; + let LayersProviderIns = BDFDB.ReactUtils.findOwner(document.querySelector(BDFDB.dotCN.layers), {name: "LayersProvider", unlimited: true, up: true}); + let LayersProviderType = LayersProviderIns && BDFDB.ObjectUtils.get(LayersProviderIns, `${BDFDB.ReactUtils.instanceKey}.type`); + if (!LayersProviderType) return; let parentSelector = "", notices = document.querySelector("#bd-notices"); if (notices) { let parentClasses = [] for (let i = 0, parent = notices.parentElement; i < 3; i++, parent = parent.parentElement) parentClasses.push(parent.className); parentSelector = parentClasses.reverse().map(n => !n ? "*" : `.${n.split(" ").join(".")}`).join(" > "); } - if (parentSelector) BDFDB.PatchUtils.patch({name: "BDFDB DiscordUtils"}, I18nLoaderWrapperIns.prototype, "render", {after: e => { - if (!document.contains(notices)) { - let parent = document.querySelector(parentSelector) || document.querySelector(BDFDB.dotCN.app).parentElement; - if (parent) parent.insertBefore(notices, parent.firstElementChild); - } + BDFDB.PatchUtils.patch({name: "BDFDB DiscordUtils"}, LayersProviderType.prototype, "render", {after: e => { + e.returnValue = BDFDB.ReactUtils.createElement(LayersProviderType, LayersProviderIns.props); + BDFDB.ReactUtils.forceUpdate(LayersProviderIns); + if (parentSelector) BDFDB.TimeUtils.timeout(_ => { + if (!document.contains(notices)) { + let parent = document.querySelector(parentSelector) || document.querySelector(BDFDB.dotCN.app).parentElement; + if (parent) parent.insertBefore(notices, parent.firstElementChild); + } + }, 1000); }}, {once: true}); - BDFDB.ReactUtils.forceUpdate(I18nLoaderWrapperIns); + BDFDB.ReactUtils.forceUpdate(LayersProviderIns); }, instant ? 0 : 1000); };