import {Plugins, SettingsCookie, PluginCookie, ThemeCookie} from "data"; import Utilities from "./utilities"; import WebpackModules, {DiscordModules} from "./webpackmodules"; import DataStore from "./datastore"; import Core from "./core"; const BdApi = { get React() { return DiscordModules.React; }, get ReactDOM() { return DiscordModules.ReactDOM; }, get WindowConfigFile() { if (this._windowConfigFile) return this._windowConfigFile; const electron = require("electron").remote.app; const path = require("path"); const base = electron.getAppPath(); const roamingBase = electron.getPath("userData"); const roamingLocation = path.resolve(roamingBase, electron.getVersion(), "modules", "discord_desktop_core", "injector", "config.json"); const location = path.resolve(base, "..", "app", "config.json"); const fs = require("fs"); const realLocation = fs.existsSync(location) ? location : fs.existsSync(roamingLocation) ? roamingLocation : null; if (!realLocation) return this._windowConfigFile = null; return this._windowConfigFile = realLocation; } }; BdApi.getAllWindowPreferences = function() { if (!this.WindowConfigFile) return {}; return __non_webpack_require__(this.WindowConfigFile); }; BdApi.getWindowPreference = function(key) { if (!this.WindowConfigFile) return undefined; return this.getAllWindowPreferences()[key]; }; BdApi.setWindowPreference = function(key, value) { if (!this.WindowConfigFile) return; const fs = require("fs"); const prefs = this.getAllWindowPreferences(); prefs[key] = value; delete require.cache[this.WindowConfigFile]; fs.writeFileSync(this.WindowConfigFile, JSON.stringify(prefs, null, 4)); }; //Inject CSS to document head //id = id of element //css = custom css BdApi.injectCSS = function (id, css) { $("head").append($("