import Utils from "./utils";
import v2 from "./v2";
import { uuidv4 } from "./distant";
import { timingSafeEqual } from "crypto";
export default new class Layers {
constructor(){
this.layers = []
window.Lightcord.BetterDiscord.Layers = this
}
get isInjected(){
return !!document.querySelector("div.Layers.injected")
}
inject(){
if(this.isInjected)return
let [
classNameLayers
] = [
Utils.removeDa(v2.WebpackModules.find(e => e.layers && e.layer).layers)
]
const layers = document.querySelector("."+classNameLayers);
if (!layers) return false;
const ReactInstance = Lightcord.Api.Utils.FindReact(layers, 1)
if(!ReactInstance)return layers
this.ReactInstance = ReactInstance
let render = ReactInstance.render
ReactInstance.render = () => {
let returnValue = render.call(ReactInstance)
let classList = returnValue.props.children[1].props.className.split(" ")
classList.push("Layers")
classList.push("injected")
returnValue.props.children[1].props.className = classList.join(" ")
this.layers.forEach(layer => {
returnValue.props.children[1].props.children.push(layer[1])
})
return returnValue
}
ReactInstance.forceUpdate()
}
createLayer(children, props = {}){
let id = uuidv4()
let layer = null
this.layers.push([id,