From 39da2ffdb893c7fcd23970e35a67c61041cb517a Mon Sep 17 00:00:00 2001 From: Jiiks Date: Sat, 3 Feb 2018 11:25:34 +0200 Subject: [PATCH] Change how plugin config works and set z index for modals --- client/src/index.js | 1 + client/src/modules/contentmanager.js | 7 +- client/src/modules/plugin.js | 4 + .../src/styles/partials/generic/modals.scss | 2 + .../ui/components/bd/PluginSettingsModal.vue | 55 ++--- tests/plugins/Example/config.json | 189 +++++++++--------- 6 files changed, 143 insertions(+), 115 deletions(-) diff --git a/client/src/index.js b/client/src/index.js index 4c9f18b5..59015317 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -16,6 +16,7 @@ import { ClientLogger as Logger } from 'common'; class BetterDiscord { constructor() { + window.pm = PluginManager; window.events = Events; window.wpm = WebpackModules; DOM.injectStyle(BdCss, 'bdmain'); diff --git a/client/src/modules/contentmanager.js b/client/src/modules/contentmanager.js index 934a4c62..39a9a58f 100644 --- a/client/src/modules/contentmanager.js +++ b/client/src/modules/contentmanager.js @@ -98,11 +98,14 @@ export default class { try { const readUserConfig = await this.readUserConfig(contentPath); - userConfig.config = userConfig.defaultConfig.map(config => { + userConfig.enabled = readUserConfig.enabled || false; + userConfig.config = readConfig.defaultConfig.map(config => { const userSet = readUserConfig.config.find(c => c.id === config.id); return userSet || config; }); - } catch (err) {/*We don't care if this fails it either means that user config doesn't exist or there's something wrong with it so we revert to default config*/ } + } catch (err) { /*We don't care if this fails it either means that user config doesn't exist or there's something wrong with it so we revert to default config*/ + + } const configs = { defaultConfig: readConfig.defaultConfig, diff --git a/client/src/modules/plugin.js b/client/src/modules/plugin.js index b591196f..67126031 100644 --- a/client/src/modules/plugin.js +++ b/client/src/modules/plugin.js @@ -8,6 +8,8 @@ * LICENSE file in the root directory of this source tree. */ +import { FileUtils } from 'common'; + export default class { constructor(pluginInternals) { @@ -37,6 +39,7 @@ export default class { } saveSettings(newSettings) { + console.log(this); let changed = false; for (let newSetting of newSettings) { const setting = this.pluginConfig.find(s => s.id === newSetting.id && s.value !== newSetting.value); @@ -46,6 +49,7 @@ export default class { changed = true; } if (changed && this.settingsSaved) this.settingsSaved(this.pluginConfig); + FileUtils.writeFile(`${this.pluginPath}/user.config.json`, JSON.stringify({enabled: this.enabled, config: this.pluginConfig})); } start() { diff --git a/client/src/styles/partials/generic/modals.scss b/client/src/styles/partials/generic/modals.scss index a36906ac..cca6c5b2 100644 --- a/client/src/styles/partials/generic/modals.scss +++ b/client/src/styles/partials/generic/modals.scss @@ -7,6 +7,7 @@ background: #000; opacity: .85; padding: 20px; + z-index: 9000; } .bd-modal { @@ -29,6 +30,7 @@ align-items: center; box-sizing: border-box; pointer-events: none; + z-index: 9001; } .bd-modal .bd-modal-inner { diff --git a/client/src/ui/components/bd/PluginSettingsModal.vue b/client/src/ui/components/bd/PluginSettingsModal.vue index 259e660b..34e5d5b8 100644 --- a/client/src/ui/components/bd/PluginSettingsModal.vue +++ b/client/src/ui/components/bd/PluginSettingsModal.vue @@ -13,14 +13,20 @@
- -