diff --git a/inc/instance-config.php b/inc/instance-config.php
index 2e181e54..6e9a4f64 100644
--- a/inc/instance-config.php
+++ b/inc/instance-config.php
@@ -394,7 +394,6 @@ $config['additional_javascript'][] = 'js/options.js';
$config['additional_javascript'][] = 'js/options/general.js';
$config['additional_javascript'][] = 'js/options/user-css.js';
$config['additional_javascript'][] = 'js/options/user-js.js';
-$config['additional_javascript'][] = 'js/style-select.js';
$config['additional_javascript'][] = 'js/flag-preview.js';
$config['additional_javascript'][] = 'js/file-selector.js';
$config['additional_javascript'][] = 'js/download-original.js';
diff --git a/js/options/general.js b/js/options/general.js
index c0652269..70351ecd 100644
--- a/js/options/general.js
+++ b/js/options/general.js
@@ -12,40 +12,78 @@
+function(){
+function styleShitChoicer() {
+ var savedChoice = localStorage.stylesheet;
+
+ var e_select = document.createElement("select");
+ e_select.name = "opt-style-select";
+
+ for (var i=0; i < styles.length; i++) {
+ var styleName = styles[i][0];
+ var e_option = document.createElement("option");
+ e_option.innerHTML = styleName;
+ e_option.value = styleName;
+
+ if (styleName == savedChoice) {
+ e_option.selected = true;
+ }
+
+ e_select.appendChild(e_option);
+ }
+
+ e_select.addEventListener('change', function(e) {
+ changeStyle(e.target.value);
+ });
+
+ return e_select;
+}
+
+function appendStyleSelectorToTab(tab_content) {
+ var div = document.createElement('div');
+ div.className = "options_general_tab--select_opt";
+
+ var label = document.createElement('span');
+ label.innerHTML = "Theme: ";
+ div.appendChild(label);
+ div.appendChild(styleShitChoicer());
+ $(div).appendTo(tab_content);
+}
+
var tab = Options.add_tab("general", "home", _("General"));
$(function(){
- var stor = $("
"+_("Storage: ")+"
");
- stor.appendTo(tab.content);
+ var stor = $(""+_("Storage: ")+"
");
+ stor.appendTo(tab.content);
- $("").appendTo(stor).on("click", function() {
- var str = JSON.stringify(localStorage);
+ $("").appendTo(stor).on("click", function() {
+ var str = JSON.stringify(localStorage);
- $(".output").remove();
- $("").appendTo(stor).val(str);
- });
- $("").appendTo(stor).on("click", function() {
- var str = prompt(_("Paste your storage data"));
- if (!str) return false;
- var obj = JSON.parse(str);
- if (!obj) return false;
+ $(".output").remove();
+ $("").appendTo(stor).val(str);
+ });
- localStorage.clear();
- for (var i in obj) {
- localStorage[i] = obj[i];
- }
+ $("").appendTo(stor).on("click", function() {
+ var str = prompt(_("Paste your storage data"));
+ if (!str) return false;
+ var obj = JSON.parse(str);
+ if (!obj) return false;
- document.location.reload();
- });
- $("").appendTo(stor).on("click", function() {
- if (confirm(_("Are you sure you want to erase your storage? This involves your hidden threads, watched threads, post password and many more."))) {
- localStorage.clear();
- document.location.reload();
- }
- });
+ localStorage.clear();
+ for (var i in obj) {
+ localStorage[i] = obj[i];
+ }
+ document.location.reload();
+ });
- $("#style-select").detach().css({float:"none","margin-bottom":0}).appendTo(tab.content);
+ $("").appendTo(stor).on("click", function() {
+ if (confirm(_("Are you sure you want to erase your storage? This involves your hidden threads, watched threads, post password and many more."))) {
+ localStorage.clear();
+ document.location.reload();
+ }
+ });
+
+ appendStyleSelectorToTab(tab.content);
});
}();
diff --git a/js/style-select.js b/js/style-select.js
deleted file mode 100644
index 485da735..00000000
--- a/js/style-select.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * style-select.js
- * https://github.com/savetheinternet/Tinyboard/blob/master/js/style-select.js
- *
- * Changes the stylesheet chooser links to a