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(`
${name}
`); 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(`