import {settingsCookie, bdEmotes} from "../0globals";
import DataStore from "./dataStore";
import BDV2 from "./v2";
import Utils from "./utils";
import DOM from "./domtools";
function QuickEmoteMenu() {
this.switchHandler = this.switchHandler.bind(this);
this.favContext = this.favContext.bind(this);
}
const insertEmote = function(e) {
const emote = e.target.getAttribute("title");
const newTextarea = document.querySelector(`.${BDV2.slateEditorClasses.slateTextArea.split(" ")[0]}`);
if (newTextarea) {
const instance = BDV2.getInternalInstance(newTextarea);
const insert = Utils.getNestedProp(instance, "memoizedProps.children.props.editor.insertText");
if (insert) insert(` ${emote} `);
}
else {
const ta = Utils.getTextArea();
Utils.insertText(ta, ta.value.slice(-1) == " " ? ta.value + emote : ta.value + " " + emote);
}
};
const makeEmote = function(name, url, {click = insertEmote, contextmenu} = {}) {
const emote = DOM.createElement(`
`);
if (click) emote.addEventListener("click", click);
if (contextmenu) emote.addEventListener("contextmenu", contextmenu);
return emote;
};
QuickEmoteMenu.prototype.init = function() {
this.initialized = true;
this.favoriteEmotes = {};
const fe = DataStore.getBDData("bdfavemotes");
if (fe !== "" && fe !== null) this.favoriteEmotes = JSON.parse(atob(fe));
this.qmeHeader = DOM.createElement(``);
this.twitchButton = DOM.createElement(`
`);
this.favoriteButton = DOM.createElement(`
`);
this.emojiButton = DOM.createElement(`