diff --git a/www/css/theme/the-network.css b/www/css/theme/the-network.css index c6412e6..3f81803 100644 --- a/www/css/theme/the-network.css +++ b/www/css/theme/the-network.css @@ -111,6 +111,10 @@ div.interactive:active{ background-color: var(--bg1); } +:not(button) > i{ + color: var(--accent0-alt1); +} + button i{ margin: 0.05em; text-wrap: nowrap; @@ -123,6 +127,8 @@ select{ border: none; } + + button{ background-color: var(--bg0); color: var(--accent0); @@ -153,6 +159,8 @@ input:checked{ } input:not([type='checkbox']):not(.navbar-item), textarea { + background-color: var(--bg2); + color: var(--accent0); border-radius: 1em; border: none; padding: 0.1em 0.5em; diff --git a/www/js/channel/channel.js b/www/js/channel/channel.js index f966c8b..a7e0498 100644 --- a/www/js/channel/channel.js +++ b/www/js/channel/channel.js @@ -251,7 +251,6 @@ class channel{ //If we're playing a video from Internet Archive if(nowPlaying != null && nowPlaying.type == 'ia'){ - console.log("RELOAD"); //Hard reload the media, forcing media handler re-creation this.player.hardReload(); } @@ -319,9 +318,6 @@ class channel{ return; } - console.log(value); - console.log((value == true || value == "true") ? "none" : "unset"); - //Convert string to bool and use it to set visibility of send button this.chatBox.sendButton.style.display = (value == true || value == "true") ? "none" : "unset"; return; @@ -361,7 +357,7 @@ class channel{ ["chatWidthMin", 20], ["disablePortrait", false], ["disableSendButton", false], - ["userlistHidden", false], + ["userlistHidden", true], ["cinemaMode", false], ["rxPMSound", 'unread'], ["txPMSound", false], diff --git a/www/js/channel/cpanel.js b/www/js/channel/cpanel.js index b426857..22d65e7 100644 --- a/www/js/channel/cpanel.js +++ b/www/js/channel/cpanel.js @@ -406,6 +406,9 @@ class poppedPanel{ * Fills container window with Popped Panel container elements */ fillContainer(){ + //Apply theme + this.window.document.head.appendChild(ThemeManager.genThemeLink()); + //Set Element Nodes this.panelDiv = this.window.document.querySelector("#cpanel-div"); this.panelTitle = this.window.document.querySelector("#cpanel-title"); diff --git a/www/js/channel/panels/settingsPanel.js b/www/js/channel/panels/settingsPanel.js index 5df8369..62daf0e 100644 --- a/www/js/channel/panels/settingsPanel.js +++ b/www/js/channel/panels/settingsPanel.js @@ -111,6 +111,16 @@ class settingsPanel extends panelObj{ } fillThemes(){ + //Find theme selector + const selector = this.theme.querySelector('select'); + + //If the theme selector has already been filled or doesnt exist + if(selector == null || selector.childElementCount > 0){ + //Stop while we're ahead + return; + } + + //For each theme for(let themeName of ThemeManager.themes.keys()){ //Create theme option let option = document.createElement('option'); @@ -120,7 +130,7 @@ class settingsPanel extends panelObj{ option.innerText = themeName; //Add option to theme selector - this.theme.querySelector('select').appendChild(option); + selector.appendChild(option); } } @@ -155,6 +165,7 @@ class settingsPanel extends panelObj{ this.theme.querySelector('select').value = localStorage.getItem("theme"); this.chatWidthMinimum.value = localStorage.getItem("chatWidthMin"); this.disablePortrait.checked = localStorage.getItem("disablePortrait") == 'true'; + this.disableSendButton.checked = localStorage.getItem("disableSendButton") == 'true'; this.rxPMSound.value = localStorage.getItem('rxPMSound'); this.txPMSound.checked = localStorage.getItem('txPMSound') == 'true'; this.newSeshSound.checked = localStorage.getItem('newSeshSound') == 'true'; @@ -279,8 +290,6 @@ class settingsPanel extends panelObj{ * Handles change toggle of disable/enable send buttton */ updateDisableSendButton(){ - console.log(this.disableSendButton); - console.log(this.disableSendButton.checked); localStorage.setItem('disableSendButton', this.disableSendButton.checked); client.processConfig("disableSendButton", this.disableSendButton.checked); } diff --git a/www/js/migrate.js b/www/js/migrate.js index 3841847..4925543 100644 --- a/www/js/migrate.js +++ b/www/js/migrate.js @@ -38,8 +38,6 @@ class migratePrompt{ //Add verification event listener to altcha widget this.altcha.addEventListener("verified", this.verify.bind(this)); - console.log(this.button); - //Add migrate event listener to migrate button this.button.addEventListener("click", this.migrate.bind(this)); } diff --git a/www/js/themeManager.js b/www/js/themeManager.js index b7d2570..e5a260e 100644 --- a/www/js/themeManager.js +++ b/www/js/themeManager.js @@ -49,7 +49,7 @@ class themeManager{ * Sets theme by name * @param {String} theme - name of theme to set, keep blank for default theme */ - setTheme(theme){ + setTheme(theme = localStorage.getItem("theme")){ //If we didnt get a theme to set if(theme == null){ //Use the first theme in the list @@ -63,14 +63,7 @@ class themeManager{ } //Create new link element and use it to set themeLink - this.themeLink = document.createElement('link'); - - //Set themeLink attributes - this.themeLink.type = "text/css"; - this.themeLink.rel = "stylesheet"; - - //Set theme href to theme location - this.themeLink.href = this.themes.get(theme); + this.themeLink = this.genThemeLink(theme); //Append themeLink to header document.querySelector('head').appendChild(this.themeLink); @@ -78,6 +71,20 @@ class themeManager{ //Save theme choice to local storage localStorage.setItem("theme", theme); } + + genThemeLink(theme = localStorage.getItem("theme")){ + //Create new link element and use it to set themeLink + const themeLink = document.createElement('link'); + + //Set themeLink attributes + themeLink.type = "text/css"; + themeLink.rel = "stylesheet"; + + //Set theme href to theme location + themeLink.href = this.themes.get(theme); + + return themeLink; + } } ThemeManager = new themeManager(); \ No newline at end of file