From ca8a421a9ccd69468816655e99554aafb409150a Mon Sep 17 00:00:00 2001 From: Jiiks Date: Tue, 30 Jan 2018 15:25:35 +0200 Subject: [PATCH] Globals module --- client/src/index.js | 1 - client/src/modules/globals.js | 29 ++++++++++++++++++++++++++++- client/src/modules/pluginmanager.js | 4 ++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/client/src/index.js b/client/src/index.js index b8d74459..fe0816e7 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -18,7 +18,6 @@ class BetterDiscord { window.cssEditorTest = CssEditor; DOM.injectStyle(BdCss, 'bdmain'); Events.on('global-ready', this.globalReady.bind(this)); - Events.emit('global-ready'); // Emit for now } globalReady() { diff --git a/client/src/modules/globals.js b/client/src/modules/globals.js index ee2476b3..cd476de7 100644 --- a/client/src/modules/globals.js +++ b/client/src/modules/globals.js @@ -21,10 +21,37 @@ export default new class extends Module { bindings() { this.first = this.first.bind(this); + this.setWS = this.setWS.bind(this); + this.getObject = this.getObject.bind(this); } first() { - + (async() => { + const config = await ClientIPC.send('getConfig'); + this.setState(config); + + Events.emit('global-ready'); + })(); + + if (window.__bd) { + this.setState(window.__bd); + window.__bd = { + setWS: this.setWS + } + Events.emit('socket-created', this.state.wsHook); + } + + } + + setWS(wSocket) { + const state = this.state; + state.wsHook = wSocket; + this.setState(state); + Events.emit('socket-created'); + } + + getObject() { + return this.state[name]; } } diff --git a/client/src/modules/pluginmanager.js b/client/src/modules/pluginmanager.js index 499e85aa..abe5076d 100644 --- a/client/src/modules/pluginmanager.js +++ b/client/src/modules/pluginmanager.js @@ -18,4 +18,8 @@ export default class { return localPlugins; } + static get pluginsPath() { + return Globals.getObject('paths').find(path => path.id === 'plugins').path; + } + }