From 51e329baf2a07d9b169e1a7861d5c3a6c306ed2e Mon Sep 17 00:00:00 2001 From: Mirco Wittrien Date: Fri, 17 Jul 2020 13:47:02 +0200 Subject: [PATCH] stuff --- Plugins/PluginRepo/PluginRepo.plugin.js | 19 ++++++++++++------- Plugins/ThemeRepo/ThemeRepo.plugin.js | 21 ++++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Plugins/PluginRepo/PluginRepo.plugin.js b/Plugins/PluginRepo/PluginRepo.plugin.js index fe335151a3..ec5ce23825 100644 --- a/Plugins/PluginRepo/PluginRepo.plugin.js +++ b/Plugins/PluginRepo/PluginRepo.plugin.js @@ -286,13 +286,18 @@ var PluginRepo = (_ => { } processSettingsView (e) { - if (BDFDB.ArrayUtils.is(e.instance.props.sections) && e.instance.props.sections[0] && e.instance.props.sections[0].label == BDFDB.LanguageUtils.LanguageStrings.USER_SETTINGS) { - let index = e.instance.props.sections.indexOf(e.instance.props.sections.find(n => n.section == BDFDB.DiscordConstants.UserSettingsSections.CHANGE_LOG || n.section == "changelog")); - if (index > -1 && !e.instance.props.sections.find(n => n.section == "pluginrepo")) e.instance.props.sections.splice(index - 1, 0, { - label: "Plugin Repo", - section: "pluginrepo", - onClick: _ => {this.openPluginRepoModal();} - }) + if (BDFDB.ArrayUtils.is(e.instance.props.sections) && e.instance.props.sections[0] && e.instance.props.sections[0].label == BDFDB.LanguageUtils.LanguageStrings.USER_SETTINGS && !e.instance.props.sections.find(n => n.section == "pluginrepo")) { + let oldSettings = !e.instance.props.sections.find(n => n.section == "plugins"); + let search = oldSettings ? n => n.section == BDFDB.DiscordConstants.UserSettingsSections.DEVELOPER_OPTIONS : n => n.section == BDFDB.DiscordConstants.UserSettingsSections.CHANGE_LOG || n.section == "changelog" + let index = e.instance.props.sections.indexOf(e.instance.props.sections.find(search)); + if (index > -1) { + e.instance.props.sections.splice(index + 1, 0, { + label: "Plugin Repo", + section: "pluginrepo", + onClick: _ => {this.openPluginRepoModal();} + }); + if (oldSettings) e.instance.props.sections.splice(index + 1, 0, {section: "DIVIDER"}); + } } } diff --git a/Plugins/ThemeRepo/ThemeRepo.plugin.js b/Plugins/ThemeRepo/ThemeRepo.plugin.js index c72b4cc1bd..9ea848a68d 100644 --- a/Plugins/ThemeRepo/ThemeRepo.plugin.js +++ b/Plugins/ThemeRepo/ThemeRepo.plugin.js @@ -346,13 +346,20 @@ var ThemeRepo = (_ => { } processSettingsView (e) { - if (BDFDB.ArrayUtils.is(e.instance.props.sections) && e.instance.props.sections[0] && e.instance.props.sections[0].label == BDFDB.LanguageUtils.LanguageStrings.USER_SETTINGS) { - let index = e.instance.props.sections.indexOf(e.instance.props.sections.find(n => n.section == BDFDB.DiscordConstants.UserSettingsSections.CHANGE_LOG || n.section == "changelog")); - if (index > -1 && !e.instance.props.sections.find(n => n.section == "themerepo")) e.instance.props.sections.splice(index - 1, 0, { - label: "Theme Repo", - section: "themerepo", - onClick: _ => {this.openThemeRepoModal();} - }) + if (BDFDB.ArrayUtils.is(e.instance.props.sections) && e.instance.props.sections[0] && e.instance.props.sections[0].label == BDFDB.LanguageUtils.LanguageStrings.USER_SETTINGS && !e.instance.props.sections.find(n => n.section == "themerepo")) { + let oldSettings = !e.instance.props.sections.find(n => n.section == "themes"); + let isPRinjected = oldSettings && e.instance.props.sections.find(n => n.section == "pluginrepo"); + console.log(isPRinjected); + let search = oldSettings ? (isPRinjected ? n => n.section == "pluginrepo" : n => n.section == BDFDB.DiscordConstants.UserSettingsSections.DEVELOPER_OPTIONS) : n => n.section == BDFDB.DiscordConstants.UserSettingsSections.CHANGE_LOG || n.section == "changelog" + let index = e.instance.props.sections.indexOf(e.instance.props.sections.find(search)); + if (index > -1) { + e.instance.props.sections.splice(index + 1, 0, { + label: "Theme Repo", + section: "themerepo", + onClick: _ => {this.openThemeRepoModal();} + }); + if (oldSettings && !isPRinjected) e.instance.props.sections.splice(index + 1, 0, {section: "DIVIDER"}); + } } }