start deleting useless spaghetti

This commit is contained in:
Zack Rauen 2017-10-29 18:56:46 -04:00
parent 770b163c77
commit 01875813f1
1 changed files with 4 additions and 305 deletions

View File

@ -1526,7 +1526,7 @@ function SettingsPanel() {
SettingsPanel.prototype.init = function () {
var self = this;
self.v2SettingsPanel = new V2_SettingsPanel();
self.construct();
//self.construct();
var body = $("body");
if (settingsCookie["bda-es-0"]) {
@ -1713,278 +1713,7 @@ SettingsPanel.prototype.updateSettings = function() {
mainCore.saveSettings();
};
SettingsPanel.prototype.construct = function () {
var self = this;
panel = $("<div/>", {
id: "bd-pane",
class: "settings-inner",
css: {
"display": "none"
}
});
//Panel start and core settings
var settingsInner = '\
<div class="scroller-wrap">\
<div class="scroller settings-wrapper settings-panel">\
<div class="tab-bar TOP">\
<div class="tab-bar-item bd-tab" id="bd-settings-tab" onclick=\'settingsPanel.changeTab("bd-settings-tab");\'>Core\
</div>\
<div class="tab-bar-item bd-tab" id="bd-emotes-tab" onclick=\'settingsPanel.changeTab("bd-emotes-tab");\'>Emotes\
</div>\
<div class="tab-bar-item bd-tab" id="bd-customcss-tab" onclick=\'settingsPanel.changeTab("bd-customcss-tab");\'>Custom CSS\
</div>\
<div class="tab-bar-item bd-tab" id="bd-plugins-tab" onclick=\'settingsPanel.changeTab("bd-plugins-tab");\'>Plugins\
</div>\
<div class="tab-bar-item bd-tab" id="bd-themes-tab" onclick=\'settingsPanel.changeTab("bd-themes-tab");\'>Themes\
</div>\
<div class="bda-slist-top">\
<button class="btn btn-primary" onclick="utils.exportSettings(); return false;">Export</button>\
<button class="btn btn-primary" onclick="utils.importSettings(); return false;">Import</button>\
</div>\
</div>\
<div class="bd-settings">\
<div class="bd-pane control-group" id="bd-settings-pane" style="display:none;">\
<ul class="checkbox-group">\
';
for(var setting in settings) {
var sett = settings[setting];
var id = sett["id"];
if(sett["cat"] != "core" || !sett["implemented"] || sett["hidden"]) continue;
settingsInner += '\
<li>\
<div class="checkbox" onclick="settingsPanel.updateSetting(this);">\
<div class="checkbox-inner">\
<input type="checkbox" id="'+id+'" '+(settingsCookie[id] ? "checked" : "")+'>\
<span></span>\
</div>\
<span>\
'+setting+' - '+sett["info"]+'\
</span>\
</div>\
</li>\
';
}
settingsInner += '\
</ul>\
</div>\
';
//End core settings
//Emote settings
settingsInner += '\
<div class="bd-pane control-group" id="bd-emotes-pane" style="display:none;">\
<ul class="checkbox-group">\
';
for(var setting in settings) {
var sett = settings[setting];
var id = sett["id"];
if(sett["cat"] != "emote" || !sett["implemented"] || sett["hidden"]) continue;
settingsInner += '\
<li>\
<div class="checkbox" onclick="settingsPanel.updateSetting(this);">\
<div class="checkbox-inner">\
<input type="checkbox" id="'+id+'" '+(settingsCookie[id] ? "checked" : "")+'>\
<span></span>\
</div>\
<span>\
'+setting+' - '+sett["info"]+'\
</span>\
</div>\
</li>\
';
}
settingsInner += '\
</ul>\
</div>\
';
//End emote settings
//Custom CSS Editor
var _ccss = window.bdStorage.get("bdcustomcss");
var ccss = "";
if(_ccss !== null && _ccss !== "") {
ccss = atob(_ccss);
}
customCssEditor.applyCustomCss(ccss, true, false);
settingsInner += '\
<div class="bd-pane control-group" id="bd-customcss-pane" style="display:none;">\
<div id="editor-detached" style="display:none;">\
<h3>Editor Detached</h3>\
<button class="btn btn-primary" onclick="customCssEditor.attach(); return false;">Attach</button>\
</div>\
<div id="bd-customcss-innerpane">\
<textarea id="bd-custom-css-ta">'+ccss+'</textarea>\
</div>\
</div>\
';
//End Custom CSS Editor
//Plugin pane
settingsInner += '\
<div class="bd-pane control-group" id="bd-plugins-pane" style="display:show;">\
<div class="bda-slist-top">\
<button class="btn btn-primary" onclick=\'betterDiscordIPC.send("asynchronous-message", { "arg": "opendir", "path": "plugindir" }); return false;\'>Open Plugin Folder</button>\
<button class="btn btn-primary" onclick=\'window.open("https://betterdiscord.net/plugins"); return false;\'>Get Plugins</button>\
</div>\
<ul class="bda-slist">\
';
$.each(bdplugins, function() {
var plugin = this["plugin"];
var hasSettings = false;
if(typeof(plugin.getSettingsPanel) == "function") {
hasSettings = plugin.getSettingsPanel() != null && plugin.getSettingsPanel() != "";
}
settingsInner += '\
<li>\
<div class="bda-left">\
<span class="bda-name">'+plugin.getName()+' v'+plugin.getVersion()+' by '+plugin.getAuthor()+'</span>\
<div class="scroller-wrap fade">\
<div class="scroller bda-description">'+plugin.getDescription()+'</div>\
</div>\
</div>\
<div class="bda-right">\
<div class="checkbox" onclick="pluginModule.handlePlugin(this);">\
<div class="checkbox-inner">\
<input id="'+plugin.getName().replace(" ", "__")+'" type="checkbox" '+(pluginCookie[plugin.getName()] ? "checked" : "")+'>\
<span></span>\
</div>\
<span></span>\
</div>\
<button class="btn btn-primary bda-plugin-reload" onclick="return false;" disabled>Reload</button>\
<button class="btn btn-primary bda-plugin-settings" onclick=\'pluginModule.showSettings("'+plugin.getName()+'"); return false;\' '+(hasSettings ? "" : "disabled")+'>Settings</button>\
</div>\
</li>\
';
});
settingsInner += '\
</ul>\
</div>\
';
//End plugin pane
//Theme pane
settingsInner += '\
<div class="bd-pane control-group" id="bd-themes-pane" style="display:none;">\
<div class="bda-slist-top">\
<button class="btn btn-primary" onclick=\'betterDiscordIPC.send("asynchronous-message", { "arg": "opendir", "path": "themedir" }); return false;\'>Open Theme Folder</button>\
<button class="btn btn-primary" onclick=\'window.open("https://betterdiscord.net/themes"); return false;\'>Get Themes</button>\
</div>\
<ul class="bda-slist">\
';
if(typeof(themesupport2) === "undefined") {
settingsInner += "Your version does not support themes!";
} else {
$.each(bdthemes, function() {
settingsInner += '\
<li>\
<div class="bda-left">\
<span class="bda-name">'+this["name"].replace(/_/g, " ")+' v'+this["version"]+' by '+this["author"]+'</span>\
<div class="scroller-wrap fade">\
<div class="scroller bda-description">'+this["description"]+'</div>\
</div>\
</div>\
<div class="bda-right">\
<div class="checkbox" onclick="themeModule.handleTheme(this);">\
<div class="checkbox-inner">\
<input id="ti'+this["name"]+'" type="checkbox" '+(themeCookie[this["name"]] ? "checked" : "")+'>\
<span></span>\
</div>\
<span></span>\
</div>\
<button class="btn btn-primary bda-plugin-reload" onclick="return false;" disabled>Reload</button>\
</div>\
</li>\
';
});
}
settingsInner += '\
</ul>\
</div>\
';
//End theme panel
//Footer
settingsInner += '\
<div style="background:#2E3136; color:#ADADAD; height:30px; position:absolute; bottom:0; left:0; right:0;">\
<span style="line-height:30px;margin-left:10px;">BetterDiscord v' + ((typeof(version) == "undefined") ? bdVersion : version) + '(JSv' + jsVersion + ') by Jiiks</span>\
<span style="float:right;line-height:30px;margin-right:10px;"><a href="http://betterdiscord.net" target="_blank">BetterDiscord.net</a></span>\
<span id="bd-changelog" onclick=\'$("body").append(mainCore.constructChangelog());\'>changelog</span>\
</div>\
</div></div>\
';
function showSettings() {
$(".tab-bar-item").removeClass("selected");
settingsButton.addClass("selected");
$(".form .settings-right .settings-inner").first().hide();
panel.show();
if (lastTab == "") {
self.changeTab("bd-settings-tab");
} else {
self.changeTab(lastTab);
}
}
settingsButton = $("<div/>", {
class: "tab-bar-item",
text: "BetterDiscord",
id: "bd-settings-new",
click: showSettings
});
panel.html(settingsInner);
this.panel = panel;
};
SettingsPanel.prototype.inject = function(mutation) {
if(this.injectNew(mutation)) return;
return;
if(mutation.type != "childList") return;
if(mutation.addedNodes.length <= 0) return;
if($(mutation.addedNodes[0]).find(".user-settings-modal").length <= 0) return;
var self = this;
this.panel.hide();
var tabBar = $(".tab-bar.SIDE").first();
$(".tab-bar.SIDE .tab-bar-item").click(function () {
$(".form .settings-right .settings-inner").first().show();
$("#bd-settings-new").removeClass("selected");
self.panel.hide();
});
tabBar.append(settingsButton);
$(".form .settings-right .settings-inner").last().after(self.panel);
$("#bd-settings-new").removeClass("selected");
};
/*New settingspanel temp until v2*/
SettingsPanel.prototype.injectNew = function(mutation) {
let self = this;
if(!mutation.target.classList.contains("layers")) return;
if($(".guild-settings-base-section").length) {
@ -1995,44 +1724,14 @@ SettingsPanel.prototype.injectNew = function(mutation) {
if(!$(".user-settings-account").length) return;
try {
mutation.addedNodes[0].setAttribute('layer-id', 'user-settings');
}catch(err) {}
} catch(err) {}
// if(!$(".ui-tab-bar-header:contains('App Settings')").length) return;
if($("#bd-settings-sidebar").length) return;
self.v2SettingsPanel.renderSidebar();
/*$(".ui-tab-bar-item").off("click.bd").on("click.bd", e => {
$(".ui-tab-bar-item").removeClass("selected");
$(e.target).addClass("selected");
self.hideBdSettingsPane();
});
let changeLogBtn = $(".ui-tab-bar-item:contains('Change Log')");
let bdBtn = $("<div/>", {
class: 'ui-tab-bar-item',
text: 'BetterDiscord',
click: function() {
$(".ui-tab-bar-item").removeClass("selected");
$(this).addClass("selected");
self.showBdSettingsPane();
}
});
let separator = $("<div/>", {
class: 'ui-tab-bar-separator margin-top-8 margin-bottom-8'
});
separator.insertBefore(changeLogBtn.prev());
bdBtn.insertBefore(changeLogBtn.prev());
$(".ui-standard-sidebar-view").last().append(self.settingsPaneNew());
$(".bd-pane").hide();
$(".bd-pane").first().show();
$(".bd-tab").removeClass("selected");
$("#bd-core").addClass("selected");
$("#bd-settingspane").hide();
$(".ui-standard-sidebar-view>.sidebar-region").append(self.versionInfo());*/
return true;
};
/*New settingspanel temp until v2*/
SettingsPanel.prototype.versionInfo = function() {
let self = this;
let element = $("<div/>", {