Update 0BDFDB.plugin.js

This commit is contained in:
Mirco Wittrien 2022-12-14 16:42:37 +01:00
parent 02ab253121
commit 9ef4039393
1 changed files with 14 additions and 9 deletions

View File

@ -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);
};