diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 8e5c72c00de..c2cd40c1a58 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -26,6 +26,7 @@ #define CHAT_NO_ADMINLOGS 16384 #define DONATOR_PUBLIC 32768 #define CHAT_NO_TICKETLOGS 65536 +#define UI_DARKMODE 131072 #define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 2fe2c8e0863..d90b5208d63 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -366,10 +366,22 @@ send_resources() + if(prefs.toggles & UI_DARKMODE) // activates dark mode if its flagged. -AA07 + if(establish_db_connection()) + activate_darkmode() + if(prefs.lastchangelog != changelog_hash) //bolds the changelog button on the interface so we know there are updates. -CP if(establish_db_connection()) - winset(src, "rpane.changelog", "background-color=#f4aa94;font-style=bold") to_chat(src, "Changelog has changed since your last visit.") + winset(src, "rpane.changelog", "background-color=#bb7700;font-color=#FFFFFF;font-style=bold") + else + if(establish_db_connection()) + if(prefs.toggles & UI_DARKMODE) + winset(src, "rpane.changelog", "background-color=#bb7700;font-color=#FFFFFF;font-style=bold") // makes changelog dark if its been set + else + winset(src, "rpane.changelog", "background-color=#ffffff;font-color=#000000") // makes changelog normal if it hasnt been set + else + winset(src, "rpane.changelog", "background-color=#ffffff;font-color=#000000") // makes changelog normal if DB isnt connected if(!void) void = new() @@ -660,3 +672,75 @@ /client/proc/on_varedit() var_edited = TRUE + +///////////////// +// DARKMODE UI // +///////////////// +// IF YOU CHANGE ANYTHING IN ACTIVATE, MAKE SURE IT HAS A DEACTIVATE METHOD, -AA07 +/client/proc/activate_darkmode() + ///// BUTTONS ///// + /* Rpane */ + winset(src, "rpane.textb", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "rpane.infob", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "rpane.wikib", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "rpane.forumb", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "rpane.rulesb", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "rpane.githubb", "background-color=#40628a;text-color=#FFFFFF") + /* Mainwindow */ + winset(src, "mainwindow.saybutton", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "mainwindow.mebutton", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "mainwindow.hotkey_toggle", "background-color=#40628a;text-color=#FFFFFF") + ///// UI ELEMENTS ///// + /* Mainwindow */ + winset(src, "mainwindow", "background-color=#272727") + winset(src, "mainwindow.mainvsplit", "background-color=#272727") + winset(src, "mainwindow.tooltip", "background-color=#272727") + /* Outputwindow */ + winset(src, "outputwindow.outputwindow", "background-color=#272727") + winset(src, "outputwindow.browseroutput", "background-color=#272727") + /* Rpane */ + winset(src, "rpane", "background-color=#272727") + winset(src, "rpane.rpane", "background-color=#272727") + winset(src, "rpane.rpanewindow", "background-color=#272727") + /* Browserwindow */ + winset(src, "browserwindow", "background-color=#272727") + winset(src, "browserwindow.browser", "background-color=#272727") + /* Infowindow */ + winset(src, "infowindow", "background-color=#272727;text-color=#FFFFFF") + winset(src, "infowindow.info", "background-color=#272727;text-color=#FFFFFF;highlight-color=#009900;tab-text-color=#FFFFFF;tab-background-color=#272727") + // NOTIFY USER + to_chat(src, "Darkmode Enabled") + +/client/proc/deactivate_darkmode() + ///// BUTTONS ///// + /* Rpane */ + winset(src, "rpane.textb", "background-color=#ffffff;text-color=#000000") + winset(src, "rpane.infob", "background-color=#ffffff;text-color=#000000") + winset(src, "rpane.wikib", "background-color=#ffffff;text-color=#000000") + winset(src, "rpane.forumb", "background-color=#ffffff;text-color=#000000") + winset(src, "rpane.rulesb", "background-color=#ffffff;text-color=#000000") + winset(src, "rpane.githubb", "background-color=#ffffff;text-color=#000000") + /* Mainwindow */ + winset(src, "mainwindow.saybutton", "background-color=#ffffff;text-color=#000000") + winset(src, "mainwindow.mebutton", "background-color=#ffffff;text-color=#000000") + winset(src, "mainwindow.hotkey_toggle", "background-color=#ffffff;text-color=#000000") + ///// UI ELEMENTS ///// + /* Mainwindow */ + winset(src, "mainwindow", "background-color=#ffffff") + winset(src, "mainwindow.mainvsplit", "background-color=#ffffff") + winset(src, "mainwindow.tooltip", "background-color=#ffffff") + /* Outputwindow */ + winset(src, "outputwindow.outputwindow", "background-color=#ffffff") + winset(src, "outputwindow.browseroutput", "background-color=#ffffff") + /* Rpane */ + winset(src, "rpane", "background-color=#ffffff") + winset(src, "rpane.rpane", "background-color=#ffffff") + winset(src, "rpane.rpanewindow", "background-color=#ffffff") + /* Browserwindow */ + winset(src, "browserwindow", "background-color=#ffffff") + winset(src, "browserwindow.browser", "background-color=#ffffff") + /* Infowindow */ + winset(src, "infowindow", "background-color=#ffffff;text-color=#000000") + winset(src, "infowindow.info", "background-color=#ffffff;text-color=#000000;highlight-color=#007700;tab-text-color=#000000;tab-background-color=#ffffff") + ///// NOTIFY USER ///// + to_chat(src, "Darkmode Disabled") // what a sick fuck \ No newline at end of file diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 086040b5595..878cdb1f4a6 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -55,7 +55,7 @@ ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) UI_style = sanitize_inlist(UI_style, list("White", "Midnight"), initial(UI_style)) default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot)) - toggles = sanitize_integer(toggles, 0, 65535, initial(toggles)) + toggles = sanitize_integer(toggles, 0, 262143, initial(toggles)) sound = sanitize_integer(sound, 0, 65535, initial(sound)) UI_style_color = sanitize_hexcolor(UI_style_color, initial(UI_style_color)) UI_style_alpha = sanitize_integer(UI_style_alpha, 0, 255, initial(UI_style_alpha)) diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm index a212aeb7c18..7d3994681b9 100644 --- a/code/modules/client/preference/preferences_toggles.dm +++ b/code/modules/client/preference/preferences_toggles.dm @@ -206,4 +206,16 @@ set category = "Preferences" set desc = "Allows you to access the Setup Character screen. Changes to your character won't take effect until next round, but other changes will." prefs.current_tab = 1 - prefs.ShowChoices(usr) \ No newline at end of file + prefs.ShowChoices(usr) + +/client/verb/toggle_darkmode() + set name = "Toggle Darkmode" + set category = "Preferences" + set desc = "Toggles UI style between dark and light" + prefs.toggles ^= UI_DARKMODE + prefs.save_preferences(src) + if(prefs.toggles & UI_DARKMODE) + activate_darkmode() + else + deactivate_darkmode() + feedback_add_details("admin_verb","TDarkmode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/goon/browserassets/css/browserOutput-dark.css b/goon/browserassets/css/browserOutput-dark.css new file mode 100644 index 00000000000..30618df6fa5 --- /dev/null +++ b/goon/browserassets/css/browserOutput-dark.css @@ -0,0 +1,411 @@ +/***************************************** +* +* GLOBAL STYLES +* +******************************************/ +html, body { + padding: 0; + margin: 0; + height: 100%; + color: #fff; +} +body { + background: #151515; + font-family: Verdana, "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 9pt; + line-height: 1.2; + overflow-x: hidden; + overflow-y: scroll; + word-wrap: break-word; +} +h1, h2, h3, h4, h5, h6 {color: #06f; font-family: Georgia, Verdana, sans-serif;} + +img { + margin: 0; + padding: 0; + line-height: 1; +} +img.icon { + width: 16px; + height: 16px; +} +a {color: #06f;} +a:visited {color: #ff00ff;} +a.popt {text-decoration: none;} + +/***************************************** +* +* CUSTOM FONTS +* +******************************************/ +@font-face { font-family: PxPlus IBM MDA; src: url('PxPlus_IBM_MDA.ttf'); } + +/***************************************** +* +* OUTPUT NOT RELATED TO ACTUAL MESSAGES +* +******************************************/ +#loading { + position: fixed; + width: 300px; + height: 150px; + text-align: center; + left: 50%; + top: 50%; + margin: -75px 0 0 -150px; +} +#loading i {display: block; padding-bottom: 3px;} + +#messages { + font-size: 14px; + padding: 3px; + margin: 0; + word-wrap: break-word; +} +#newMessages { + position: fixed; + display: block; + bottom: 0; + right: 0; + padding: 8px; + background: #ddd; + text-decoration: none; + font-variant: small-caps; + font-size: 1.1em; + font-weight: bold; + color: #333; +} +#newMessages:hover {background: #ccc;} +#newMessages i {vertical-align: middle; padding-left: 3px;} +#ping { + position: fixed; + top: 0; + right: 40px; + width: 45px; + background: #ddd; + color: #000; + height: 30px; + padding: 8px 0 2px 0; +} +#ping i {display: block; text-align: center;} +#ping .ms { + display: block; + text-align: center; + font-size: 8pt; + color: #000; + padding-top: 2px; +} +#options { + position: fixed; + top: 0; + right: 0; +} +#options a { + background: #ddd; + height: 30px; + padding: 5px 0; + display: block; + color: #333; + text-decoration: none; + line-height: 28px; + border-top: 1px solid #b4b4b4; +} +#options a:hover {background: #ccc;} +#options .toggle { + width: 40px; + background: #ccc; + border-top: 0; + float: right; + text-align: center; +} +#options .sub {clear: both; display: none; width: 160px;} +#options .sub.scroll {overflow-y: scroll;} +#options .sub a {padding: 5px 0 5px 8px; line-height: 30px; font-size: 0.9em; clear: both;} +#options .sub span { + display: block; + line-height: 30px; + float: left; +} +#options .sub i { + display: block; + padding: 0 5px; + font-size: 1.1em; + width: 22px; + text-align: center; + line-height: 30px; + float: right; +} +#options .decreaseFont {border-top: 0;} + +/* POPUPS */ +.popup { + position: fixed; + top: 50%; + left: 50%; + background: #ddd; +} +.popup .close { + position: absolute; + background: #aaa; + top: 0; + right: 0; + color: #333; + text-decoration: none; + z-index: 2; + padding: 0 10px; + height: 30px; + line-height: 30px; +} +.popup .close:hover {background: #999;} +.popup .head { + background: #999; + color: #ddd; + padding: 0 10px; + height: 30px; + line-height: 30px; + text-transform: uppercase; + font-size: 0.9em; + font-weight: bold; + border-bottom: 2px solid green; +} +.popup input {border: 1px solid #999; background: #fff; margin: 0; padding: 5px; outline: none; color: #333;} +.popup input[type=text]:hover, .popup input[type=text]:active, .popup input[type=text]:focus {border-color: green;} +.popup input[type=submit] {padding: 5px 10px; background: #999; color: #ddd; text-transform: uppercase; font-size: 0.9em; font-weight: bold;} +.popup input[type=submit]:hover, .popup input[type=submit]:focus, .popup input[type=submit]:active {background: #aaa; cursor: pointer;} + +.changeFont {padding: 10px;} +.changeFont a {display: block; text-decoration: none; padding: 3px; color: #333;} +.changeFont a:hover {background: #ccc;} + +.highlightPopup {padding: 10px; text-align: center;} +.highlightPopup input[type=text] {display: block; width: 215px; text-align: left; margin-top: 5px;} +.highlightPopup input.highlightColor {background-color: #FFFF00;} +.highlightPopup input.highlightTermSubmit {margin-top: 5px;} + +/* ADMIN CONTEXT MENU */ +.contextMenu { + background-color: #ddd; + position: fixed; + margin: 2px; + width: 150px; +} +.contextMenu a { + display: block; + padding: 2px 5px; + text-decoration: none; + color: #333; +} + +.contextMenu a:hover { + background-color: #ccc; +} + +/* ADMIN FILTER MESSAGES MENU */ +.filterMessages {padding: 5px;} +.filterMessages div {padding: 2px 0;} +.filterMessages input {} +.filterMessages label {} + +.icon-stack {height: 1em; line-height: 1em; width: 1em; vertical-align: middle; margin-top: -2px;} + + +/***************************************** +* +* OUTPUT ACTUALLY RELATED TO MESSAGES +* +******************************************/ + +/* MOTD */ +.motd {color: #638500;} +.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6 {color: #638500; text-decoration: underline;} +.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover {color: #638500;} + +/* ADD HERE FOR BOLD */ +.bold, .name, .prefix, .ooc, .looc, .adminooc, .adminlooc, .admin, .gfartooc, .gfartlooc, .gfartadmin, .mentorooc, .mentorlooc, .medal {font-weight: bold;} + +/* ADD HERE FOR ITALIC */ +.italic, .ghostdronesay.broadcast {font-style: italic;} + +/* BADGE */ +.repeatBadge { + display: inline-block; + min-width: 0.5em; + font-size: 0.7em; + padding: 0.2em 0.3em; + line-height: 1; + color: white; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: crimson; + border-radius: 10px; +} + +/* OUTPUT COLORS */ +.highlight {background: yellow;} +h1, h2, h3, h4, h5, h6 {color: #06f;font-family: Georgia, Verdana, sans-serif;} +em {font-style: normal; font-weight: bold;} +.motd {color: #638500; font-family: Verdana, sans-serif;} +.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6 + {color: #638500; text-decoration: underline;} +.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover + {color: #638500;} +.prefix { font-weight: bold;} +.ooc { font-weight: bold;} +.looc {color: #6699CC;} +.adminobserverooc {color: #0099cc; font-weight: bold;} +.adminooc {color: #b82e00; font-weight: bold;} +.adminobserver {color: #996600; font-weight: bold;} +.admin {color: #386aff; font-weight: bold;} +.adminsay {color: #9611D4; font-weight: bold;} +.mentorhelp {color: #0077bb; font-weight: bold;} +.adminhelp {color: #aa0000; font-weight: bold;} +.playerreply {color: #8800bb; font-weight: bold;} +.name { font-weight: bold;} +.say {} +.yell { font-weight: bold;} +.siliconsay {font-family: 'Courier New', Courier, monospace;} +.deadsay {color: #cc00c6;} +.radio {color: #408010;} +.deptradio {color: #993399;} +.comradio {color: #2040ff;} +.syndradio {color: #993F40;} +.dsquadradio {color: #998599;} +.resteamradio {color: #18BC46;} +.airadio {color: #FF00FF;} +.centradio {color: #5C5C7C;} +.secradio {color: #CF0000;} +.engradio {color: #A66300;} +.medradio {color: #009190;} +.sciradio {color: #993399;} +.supradio {color: #9F8545;} +.srvradio {color: #80A000;} +.admin_channel {color: #9A04D1; font-weight: bold;} +.mentor_channel {color: #775BFF; font-weight: bold;} +.mentor_channel_admin {color: #A35CFF; font-weight: bold;} +.djradio {color: #996600;} +.binaryradio {color: #1B00FB; font-family: 'Courier New', Courier, monospace;} +.mommiradio {color: #1B00AB;} +.alert {color: #ff0000;} +h1.alert, h2.alert {color: #FFF;} +.ghostalert {color: #cc00c6; font-style: italic; font-weight: bold;} +.emote { font-style: italic;} +.selecteddna {color: #FFFFFF; background-color: #001B1B} + +.attack {color: #ff0000;} +.moderate {color: #CC0000;} +.disarm {color: #990000;} +.passive {color: #660000;} + +.warning {color: #ff0000; font-style: italic;} +.boldwarning {color: #ff0000; font-style: italic; font-weight: bold} +.danger {color: #ff0000; font-weight: bold;} +.userdanger {color: #ff0000; font-weight: bold; font-size: 120%;} +.biggerdanger {color: #ff0000; font-weight: bold; font-size: 150%;} + +.info {color: #0044DD;} +.notice {color: #0044DD;} +.bnotice {color: #0044DD; font-weight: bold;} +.boldnotice {color: #0044DD; font-weight: bold;} +.suicide {color: #ff5050; font-style: italic;} +.green {color: #03bb39;} +.announce {color: #228b22; font-weight: bold;} +.boldannounce {color: #ff0000; font-weight: bold;} +.greenannounce {color: #00ff00; font-weight: bold;} + +.alien {color: #C433C4;} +.noticealien {color: #00c000;} +.alertalien {color: #00c000; font-weight: bold;} +.terrorspider {color: #CF52FA;} + + +.sinister {color: #800080; font-weight: bold; font-style: italic;} /* /vg/ */ +.blob {color: #006221; font-weight: bold; font-style: italic;} +.confirm {color: #00af3b;} +.rose {color: #ff5050;} +.sans {font-family: 'Comic Sans MS', cursive, sans-serif;} +.wingdings {font-family: Wingdings, Webdings;} +.robot {font-family: 'PxPlus IBM MDA'; font-size: 1.15em;} +.ancient {color: #008B8B; font-stye: italic;} +.newscaster {color: #CC0000;} +.mod {color: #735638; font-weight: bold;} +.modooc {color: #184880; font-weight: bold;} +.adminmod {color: #F0AA14; font-weight: bold;} +.tajaran {color: #803B56;} +.skrell {color: #00CED1;} +.solcom {color: #8282FB;} +.soghun {color: #228B22;} +.changeling {color: #800080;} +.vox {color: #AA00AA;} +.diona {color: #804000; font-weight: bold;} +.trinary {color: #727272;} +.kidan {color: #C64C05;} +.slime {color: #0077AA;} +.drask {color: #a3d4eb; font-family: "Arial Black";} +.clown {color: #ff0000;} +.shadowling {color: #Cb2799;} +.vulpkanin {color: #B97A57;} +.abductor {color: #800080; font-style: italic;} +.mind_control {color: #A00D6F; font-size: 3; font-weight: bold; font-style: italic;} +.rough {font-family: 'Trebuchet MS', cursive, sans-serif;} +.say_quote {font-family: Georgia, Verdana, sans-serif;} +.cult {color: #800080; font-weight: bold; font-style: italic;} +.cultspeech {color: #AF0000; font-style: italic;} +.cultitalic {color: #A60000; font-style: italic;} +.cultlarge {color: #A60000; font-weight: bold; font-size: 120%;} +.narsie {color: #A60000; font-weight: bold; font-size: 300%;} +.narsiesmall {color: #A60000; font-weight: bold; font-size: 200%;} +.interface {color: #330033;} +.big {font-size: 150%;} +.reallybig {font-size: 175%;} +.greentext {color: #00FF00; font-size: 150%;} +.redtext {color: #FF0000; font-size: 150%;} +.bold {font-weight: bold;} +.center {text-align: center;} +.red {color: #FF0000;} +.skeleton {color: #C8C8C8; font-weight: bold; font-style: italic;} +.gutter {color: #7092BE; font-family: "Trebuchet MS", cursive, sans-serif;} +.orange {color: #ffa500;} +.orangei {color: #ffa500; font-style: italic;} +.orangeb {color: #ffa500; font-weight: bold;} + +.revennotice {color: #1d29C3;} +.revenboldnotice {color: #1d29C3; font-weight: bold;} +.revenbignotice {color: #1d29C3; font-weight: bold; font-size: 120%;} +.revenminor {color: #823abb} +.revenwarning {color: #760fbb; font-style: italic;} +.revendanger {color: #760fbb; font-weight: bold; font-size: 120%;} + +/* /vg/ */ +.good {color: green;} +.average {color: #FF8000;} +.bad {color: #FF0000;} +/* /vg/ Saycode Rewrite */ +.italics, .talkinto {font-style:italic;} +.whisper {font-style:italic;color:#CCCCCC;} +/* Recruiting stuff */ +.recruit {color: #5c00e6; font-weight: bold; font-style: italic;} +"} + +.memo {color: #638500; text-align: center;} +.memoedit {text-align: center; font-size: 75%;} + +.connectionClosed, .fatalError {background: red; color: white; padding: 5px;} +.connectionClosed.restored {background: green;} +.internal.boldnshit {color: blue; font-weight: bold;} + +/* HELPER CLASSES */ +.text-normal {font-weight: normal; font-style: normal;} +.hidden {display: none; visibility: hidden;} + +/* MEGAFAUNA */ +.colossus {color: #7F282A; font-size: 175%;} +.hierophant {color: #660099; font-weight: bold; font-size: 150%;} +.hierophant_warning {color: #660099; font-weight: bold; font-style: italic;} + +/* EMOJI STUFF */ +.emoji {max-height: 16px; max-width: 16px} + +/* ADMIN TICKETS */ + +.adminticket {color: #3daf21; font-weight: bold} diff --git a/goon/browserassets/html/browserOutput.html b/goon/browserassets/html/browserOutput.html index 496eac94a6c..cfa67167f88 100644 --- a/goon/browserassets/html/browserOutput.html +++ b/goon/browserassets/html/browserOutput.html @@ -5,7 +5,7 @@ - + @@ -54,6 +54,7 @@ Highlight string Save chat log Clear all messages + Toggle Dark Chat diff --git a/goon/browserassets/js/browserOutput.js b/goon/browserassets/js/browserOutput.js index 06f968044fe..184420011d1 100644 --- a/goon/browserassets/js/browserOutput.js +++ b/goon/browserassets/js/browserOutput.js @@ -573,8 +573,9 @@ $(function() { 'shighlightTerms': getCookie('highlightterms'), 'shighlightColor': getCookie('highlightcolor'), 'shideSpam': getCookie('hidespam'), + 'darkChat': getCookie('darkChat'), }; - + if (savedConfig.sfontSize) { $messages.css('font-size', savedConfig.sfontSize); internalOutput('Loaded font size setting of: '+savedConfig.sfontSize+'', 'internal'); @@ -612,7 +613,28 @@ $(function() { opts.hideSpam = $.parseJSON(savedConfig.shideSpam); internalOutput('Loaded hide spam preference of: ' + savedConfig.shideSpam + '', 'internal'); } - + if (savedConfig.darkChat == "on") { + $("head").append(""); + var css = $("head").children(":last"); + css.attr({ + rel: "stylesheet", + type: "text/css", + href: "./browserOutput-dark.css" + }); + } else { + $("head").append(""); + var css = $("head").children(":last"); + css.attr({ + rel: "stylesheet", + type: "text/css", + href: "./browserOutput.css" + }); + } + if(localStorage){ + var backlog = localStorage.getItem('backlog') + $messages.html(backlog) + localStorage.setItem('backlog', '') + } (function() { var dataCookie = getCookie('connData'); if (dataCookie) { @@ -1012,6 +1034,17 @@ $(function() { opts.previousMessageCount = 1; }); + $('#toggleDarkChat').click(function(e) { + var backlog = $messages.html() + if(getCookie('darkChat') == "on"){ + setCookie('darkChat', "off", 365) + } else { + setCookie('darkChat', "on", 365) + } + localStorage.setItem('backlog', backlog) + location.reload(); + }); + // Tell BYOND to give us a macro list. // I don't know why but for some retarded reason, // You need to activate hotkeymode before you can winget the macros in it. diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index 32a2dcd8b88..28a2690b5f6 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -11,6 +11,7 @@ var/list/chatResources = list( "goon/browserassets/css/fonts/PxPlus_IBM_MDA.ttf", "goon/browserassets/css/font-awesome.css", "goon/browserassets/css/browserOutput.css", + "goon/browserassets/css/browserOutput-dark.css", "goon/browserassets/json/unicode_9_annotations.json", "goon/browserassets/html/saveInstructions.html" ) diff --git a/icons/paradise.png b/icons/paradise.png new file mode 100644 index 00000000000..9b7e3b6db3d Binary files /dev/null and b/icons/paradise.png differ diff --git a/interface/skin.dmf b/interface/skin.dmf index ab8e7ef370c..996edf78905 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -1523,7 +1523,7 @@ window "mainwindow" is-default = true is-maximized = true title = "Paradise Station 13" - icon = 'icons\\ss13_64.png' + icon = 'icons\\paradise.png' menu = "menu" macro = "macro" saved-params = "pos;size;is-minimized;is-maximized" @@ -1658,7 +1658,7 @@ window "rpane" show-splitter = true elem "textb" type = BUTTON - pos = 0,0 + pos = 0,7 size = 60x16 is-visible = false saved-params = "is-checked" @@ -1669,7 +1669,7 @@ window "rpane" button-type = pushbox elem "infob" type = BUTTON - pos = 64,0 + pos = 64,7 size = 60x16 is-visible = false saved-params = "is-checked" @@ -1679,37 +1679,37 @@ window "rpane" button-type = pushbox elem "wikib" type = BUTTON - pos = 155,0 + pos = 155,7 size = 60x16 text = "Wiki" command = "wiki" elem "forumb" type = BUTTON - pos = 220,0 + pos = 220,7 size = 60x16 text = "Forum" command = "forum" elem "rulesb" type = BUTTON - pos = 285,0 + pos = 285,7 size = 60x16 text = "Rules" command = "rules" elem "githubb" type = BUTTON - pos = 350,0 + pos = 350,7 size = 60x16 text = "GitHub" command = "github" elem "changelog" type = BUTTON - pos = 415,0 + pos = 415,7 size = 67x16 text = "Changelog" command = "Changelog" elem "discordb" type = BUTTON - pos = 487,0 + pos = 487,7 size = 60x16 background-color = #7289DA text-color = #FFFFFF @@ -1718,7 +1718,7 @@ window "rpane" command = "discord" elem "karma" type = BUTTON - pos = 552,0 + pos = 552,7 size = 60x16 background-color = #FF4500 text-color = #FFFFFF @@ -1727,7 +1727,7 @@ window "rpane" command = "karmashop" elem "donate" type = BUTTON - pos = 617,0 + pos = 617,7 size = 60x16 background-color = #008000 text-color = #FFFFFF @@ -1736,7 +1736,7 @@ window "rpane" command = "Donate" elem "browseb" type = BUTTON - pos = 561,0 + pos = 561,7 size = 60x16 is-visible = false saved-params = "is-checked" @@ -1758,8 +1758,8 @@ window "browserwindow" anchor1 = 0,0 anchor2 = 100,100 is-default = true - on-show = ".winset\"rpane.infob.is-visible=true?rpane.infob.pos=130,0;rpane.textb.is-visible=true;rpane.browseb.is-visible=true;rpane.browseb.is-checked=true;rpane.rpanewindow.pos=0,30;rpane.rpanewindow.size=0x0;rpane.rpanewindow.left=browserwindow\"" - on-hide = ".winset\"rpane.infob.is-visible=true?rpane.infob.is-checked=true rpane.infob.pos=65,0 rpane.rpanewindow.left=infowindow:rpane.rpanewindow.left=textwindow rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0\"" + on-show = ".winset\"rpane.infob.is-visible=true?rpane.infob.pos=130,7;rpane.textb.is-visible=true;rpane.browseb.is-visible=true;rpane.browseb.is-checked=true;rpane.rpanewindow.pos=0,30;rpane.rpanewindow.size=0x0;rpane.rpanewindow.left=browserwindow\"" + on-hide = ".winset\"rpane.infob.is-visible=true?rpane.infob.is-checked=true rpane.infob.pos=65,7 rpane.rpanewindow.left=infowindow:rpane.rpanewindow.left=textwindow rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0\"" window "infowindow" elem "infowindow" @@ -1778,5 +1778,5 @@ window "infowindow" tab-text-color = #000000 allow-html = true multi-line = true - on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,0:rpane.infob.pos=65,0 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\"" + on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,7:rpane.infob.pos=65,7 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\"" on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\""