Files
Paradise/html/statbrowser.css
S34N 91660824fa Browser/TGUI Stat Panels (#24065)
* initial commit (broken)

* load the html

* fix this

* Fix various issues with browser statpanel

* Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel

* Optimize stat panel and fix guardian verbs

* Restyles Stat Panel, Adds Subpanel Sub-Categories

* Use better layout for verbs in stat panel

* Updates statpanel verb widths to be more dynamic at higher screen resolutions.

* Adjust stat panel grid item widths and breakpoints

* refactors statpanel to use tgui API

* CI moment

* more CI

* this stupid thing

* Apply suggestions from code review

Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/client/client_procs.dm

* ci fix

* emergency mc debug view

* temp revert some code change suggestions due to massive runtiming

* proper atom click topic implementation

* optimise

* mob clicking in stat panels work

* yeet spell tab thingy

* yeet simple stat panel pref

* allow insertion of html into MC tab content

* tidy up status tab

* Apply suggestions from code review

* fix this

* fix CI

* oops

* fix index runtime

* fixes MC tab showing up for mentors, fixes runtime

* safeties!

* Return of theme support

* more fixes

* fix view range pref, tidy prefs tab

* Remove old stat panel from themes

* fixes

* make sure verbs don't go missing

* fix ooc/looc breaking

* Revert "make sure verbs don't go missing"

This reverts commit 7d07ad45ed.

* fix this properly

* fix stat panel hitting rate limiters

* fix borg status tab

* Object Window Niceties

* Adds file cycling for icon2base64

* optimizes icon2html() for icon files known to be in the rsc at compile time

* CI moment

* remove dupe emergency shuttle timers

* more robust verb updates

* statpanel tweaks

* zip archived changelog to avoid search results

* optimise

* fix mentor chat wonkyness when disabled

* debug log moment

* i am very smart

* reintroduce this because it was needed

* better time listings

* less jank

* stops telling admins they arent mentors

* returns MC tab pref for admins

* Update code/controllers/subsystem/SSstatpanel.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* lewcc

* OD typemaker prep

---------

Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Aylong <alexanderkitsa@gmail.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
2024-03-07 10:31:36 -05:00

360 lines
5.4 KiB
CSS

/* Light theme */
body {
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 12px !important;
margin: 0 !important;
padding: 0 !important;
overflow-x: hidden;
overflow-y: scroll;
}
#menu {
background-color: #efeeee;
position: fixed;
width: 100%;
z-index: 100;
}
#statcontent {
padding: 7px;
}
a {
color: black;
text-decoration: none
}
a:hover,
.dark a:hover,
.ntos a:hover,
.paradise a:hover,
.syndicate a:hover {
text-decoration: underline;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
background-color: #333;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: #111;
}
td {
padding-right: 15px;
}
.button-container {
display: inline-flex;
flex-wrap: wrap-reverse;
flex-direction: row;
align-items: flex-start;
overflow-x: hidden;
white-space: pre-wrap;
}
.button {
background-color: #ffffff;
border-style: none;
border-bottom-style: solid;
border: 1px solid transparent;
border-bottom-width: 2px;
color: rgba(0, 0, 0, 0.7);
padding: 7px 8px 5px 8px;
text-align: center;
text-decoration: none;
font-size: 12px;
margin: 0;
cursor: pointer;
transition-duration: 100ms;
order: 3;
min-width: 40px;
}
.button:hover {
background-color: #ececec;
transition-duration: 0;
}
.button:active,
.button.active {
background-color: #dfdfdf;
color: black;
border-bottom-color: #000000;
}
.grid-container {
margin: -2px;
margin-right: -15px;
}
.grid-item {
position: relative;
display: inline-block;
width: 100%;
box-sizing: border-box;
overflow: visible;
padding: 3px 2px;
text-decoration: none;
}
@media only screen and (min-width: 300px) {
.grid-item {
width: 50%;
}
}
@media only screen and (min-width: 430px) {
.grid-item {
width: 33%;
}
}
@media only screen and (min-width: 560px) {
.grid-item {
width: 25%;
}
}
@media only screen and (min-width: 770px) {
.grid-item {
width: 20%;
}
}
.grid-item:hover {
z-index: 1;
}
.grid-item:hover .grid-item-text {
width: auto;
text-decoration: underline;
}
.grid-item-text {
display: inline-block;
width: 100%;
background-color: #ffffff;
margin: 0 -6px;
padding: 0 6px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
pointer-events: none;
}
.link {
display: inline;
background: none;
border: none;
padding: 7px 14px;
color: black;
text-decoration: none;
cursor: pointer;
font-size: 13px;
margin: 2px 2px;
}
.link:hover {
text-decoration: underline;
}
img {
-ms-interpolation-mode: nearest-neighbor;
image-rendering: pixelated;
}
.interview_panel_controls,
.interview_panel_stats {
margin-bottom: 10px;
}
/* Dark Theme */
body.dark {
background-color: #131313;
color: #b2c4dd;
scrollbar-base-color: #1c1c1c;
scrollbar-face-color: #3b3b3b;
scrollbar-3dlight-color: #252525;
scrollbar-highlight-color: #252525;
scrollbar-track-color: #1c1c1c;
scrollbar-arrow-color: #929292;
scrollbar-shadow-color: #3b3b3b;
}
.dark #menu {
background-color: #212020;
}
.dark button {
background-color: #131313;
color: rgba(255, 255, 255, 0.5);
}
.dark button:hover {
background-color: #252525;
}
.dark .button:active,
.dark .button.active {
background-color: #313131;
color: white;
border-bottom-color: #ffffff;
}
.dark .grid-item-text {
background-color: #131313;
}
.dark a {
color: #b2c4dd;
}
.dark .link {
color: #abc6ec;
}
/* NTOS theme */
body.ntos {
background-color: #121922;
color: #b2c4dd;
scrollbar-base-color: #141d26;
scrollbar-face-color: #2a3b4f;
scrollbar-track-color: #141d26;
scrollbar-arrow-color: #7290b4;
scrollbar-shadow-color: #2a3b4f;
}
.ntos #menu {
background-color: #1b2633;
}
.ntos button {
background-color: #121922;
color: rgba(255, 255, 255, 0.5);
}
.ntos button:hover {
background-color: #242a32;
}
.ntos .button:active,
.ntos .button.active {
background-color: #30363e;
color: white;
border-bottom-color: #ffffff;
}
.ntos .grid-item-text {
background-color: #121922;
}
.ntos a {
color: #b2c4dd;
}
.ntos .link {
color: #abc6ec;
}
/* Paradise theme */
body.paradise {
background-color: #400125;
color: #dec5bd;
scrollbar-base-color: #680b29;
scrollbar-face-color: #99103d;
scrollbar-track-color: #680b29;
scrollbar-arrow-color: #ea2e6c;
scrollbar-shadow-color: #99103d;
}
.paradise #menu {
background-color: #800448;
}
.paradise button {
background-color: #400125;
color: rgba(255, 255, 255, 0.5);
}
.paradise button:hover {
background-color: #4e1435;
}
.paradise .button:active,
.paradise .button.active {
background-color: #582140;
color: white;
border-bottom-color: #ffffff;
}
.paradise .grid-item-text {
background-color: #400125;
}
.paradise a {
color: #dec5bd;
}
.paradise .link {
color: #edc1b2;
}
/* Syndicate theme */
body.syndicate {
background-color: #2b0101;
color: #debdbd;
scrollbar-base-color: #3a0202;
scrollbar-face-color: #770303;
scrollbar-track-color: #3a0202;
scrollbar-arrow-color: #fa2d2d;
scrollbar-shadow-color: #770303;
}
.syndicate #menu {
background-color: #4d0202;
}
.syndicate button {
background-color: #2b0101;
color: rgba(255, 255, 255, 0.5);
}
.syndicate button:hover {
background-color: #3b1414;
}
.syndicate .button:active,
.syndicate .button.active {
background-color: #462121;
color: white;
border-bottom-color: #ffffff;
}
.syndicate .grid-item-text {
background-color: #2b0101;
}
.syndicate a {
color: #debdbd;
}
.syndicate .link {
color: #edb2b2;
}