mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
Adds dark mode support (#218)
* Adds dark mode support Updates the css to support dark mode via media query. The dark theme its heavily inspired on the new dark mode for google.com.
This commit is contained in:
committed by
GitHub
parent
985f2702f2
commit
bf8536abb3
@@ -76,7 +76,7 @@
|
|||||||
|
|
||||||
.message-list {
|
.message-list {
|
||||||
display: block;
|
display: block;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-list-controls {
|
.message-list-controls {
|
||||||
|
|||||||
119
ui/src/main.css
119
ui/src/main.css
@@ -11,6 +11,68 @@
|
|||||||
--selected-color: #eee;
|
--selected-color: #eee;
|
||||||
--focused-color: #fff;
|
--focused-color: #fff;
|
||||||
--focused-bg-color: #337ab7;
|
--focused-bg-color: #337ab7;
|
||||||
|
|
||||||
|
--input-bg: white;
|
||||||
|
--input-bg-active: white;
|
||||||
|
|
||||||
|
--btn-default-bg-color: #337ab7;
|
||||||
|
--btn-default-bg-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);
|
||||||
|
--btn-default-color: #ffffff;
|
||||||
|
--btn-danger-bg-color: #d9534f;
|
||||||
|
--btn-danger-bg-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);
|
||||||
|
--btn-light-bg-color: #eee;
|
||||||
|
--btn-light-bg-image: linear-gradient(to bottom, #f0f0f0 0, #e0e0e0 100%);
|
||||||
|
|
||||||
|
--monitor-header-bg: #e8e8e8;
|
||||||
|
|
||||||
|
--well-bg-color: #f5f5f5;
|
||||||
|
--well-bg-image: linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);
|
||||||
|
|
||||||
|
--well-warn-bg-color: #fff8cf;
|
||||||
|
--well-warn-bg-image: linear-gradient(to bottom, #fff899 0, #fff8cf 100%);
|
||||||
|
--well-warn-color: inherit;
|
||||||
|
|
||||||
|
--well-error-bg-color: #f58080;
|
||||||
|
--well-error-bg-image: linear-gradient(to bottom, #e86060 0, #f58080 100%);
|
||||||
|
--well-error-color: inherit;
|
||||||
|
|
||||||
|
--well-border: #e8e8e8;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--bg-color: #202124;
|
||||||
|
--primary-color: #bdc1c6;
|
||||||
|
--high-color: #8ab4f8;
|
||||||
|
--border-color: #5f6368;
|
||||||
|
--selected-color: #303134;
|
||||||
|
|
||||||
|
--input-bg: var(--bg-color);
|
||||||
|
--input-bg-active: rgb(48, 49, 52);
|
||||||
|
|
||||||
|
--btn-default-bg-color: #303134;
|
||||||
|
--btn-default-bg-image: none;
|
||||||
|
--btn-default-color: #e8eaed;
|
||||||
|
/*--btn-danger-bg-color: #d9534f;*/
|
||||||
|
--btn-danger-bg-image: none;
|
||||||
|
/*--btn-light-bg-color: #eee;*/
|
||||||
|
--btn-light-bg-image: none;
|
||||||
|
|
||||||
|
--monitor-header-bg: var(--selected-color);
|
||||||
|
|
||||||
|
--well-bg-color: var(--low-color);
|
||||||
|
--well-bg-image: none;
|
||||||
|
|
||||||
|
--well-warn-bg-color: #c3c099;
|
||||||
|
--well-warn-bg-image: none;
|
||||||
|
--well-warn-color: var(--bg-color);
|
||||||
|
|
||||||
|
--well-error-bg-color: #e86060;
|
||||||
|
--well-error-bg-image: none;
|
||||||
|
--well-error-color: var(--bg-color);
|
||||||
|
|
||||||
|
--well-border: var(--border-color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body, div, span, applet, object, iframe,
|
html, body, div, span, applet, object, iframe,
|
||||||
@@ -39,7 +101,7 @@ time, mark, audio, video {
|
|||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #337ab7;
|
color: var(--high-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,8 +129,8 @@ h1, h2, h3, h4, h5, h6, p {
|
|||||||
/** SHARED */
|
/** SHARED */
|
||||||
|
|
||||||
a.button {
|
a.button {
|
||||||
background-color: #337ab7;
|
background-color: var(--btn-default-bg-color);
|
||||||
background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);
|
background-image: var(--btn-default-bg-image);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -82,11 +144,9 @@ a.button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.well {
|
.well {
|
||||||
--light: #f5f5f5;
|
background-color: var(--well-bg-color);
|
||||||
--dark: #e8e8e8;
|
background-image: var(--well-bg-image);
|
||||||
background-color: var(--light);
|
border: 1px solid var(--well-border);
|
||||||
background-image: linear-gradient(to bottom, var(--dark) 0, var(--light) 100%);
|
|
||||||
border: 1px solid var(--dark);
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
box-shadow: 0 1px 2px rgba(0,0,0,.05);
|
box-shadow: 0 1px 2px rgba(0,0,0,.05);
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
@@ -98,8 +158,9 @@ a.button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.well-error {
|
.well-error {
|
||||||
--light: #f58080;
|
background-color: var(--well-error-bg-color);
|
||||||
--dark: #e86060;
|
background-image: var(--well-error-bg-image);
|
||||||
|
color: var(--well-error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.well-error a {
|
.well-error a {
|
||||||
@@ -108,8 +169,22 @@ a.button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.well-warn {
|
.well-warn {
|
||||||
--light: #fff8cf;
|
background-color: var(--well-warn-bg-color);
|
||||||
--dark: #fff899;
|
background-image: var(--well-warn-bg-image);
|
||||||
|
color: var(--well-warn-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
background-color: var(--input-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
input:focus-visible, input:hover {
|
||||||
|
outline: none;
|
||||||
|
border: 1px solid var(--input-bg-active);
|
||||||
|
background-color: var(--input-bg-active);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** APP */
|
/** APP */
|
||||||
@@ -237,11 +312,11 @@ h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.button-bar button {
|
.button-bar button {
|
||||||
background-color: #337ab7;
|
background-color: var(--btn-default-bg-color);
|
||||||
background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);
|
background-image: var(--btn-default-bg-image);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: var(--btn-default-color);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@@ -254,18 +329,22 @@ h3 {
|
|||||||
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-bar button:hover {
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
.button-bar *:not(:last-child) {
|
.button-bar *:not(:last-child) {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-bar button.danger {
|
.button-bar button.danger {
|
||||||
background-color: #d9534f;
|
background-color: var(--btn-danger-bg-color);
|
||||||
background-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);
|
background-image: var(--btn-danger-bg-image);
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-bar button.light {
|
.button-bar button.light {
|
||||||
background-color: #eee;
|
background-color: var(--btn-light-bg-color);
|
||||||
background-image: linear-gradient(to bottom, #f0f0f0 0, #e0e0e0 100%);
|
background-image: var(--btn-light-bg-image);
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,7 +364,7 @@ h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.metric-panel h2 {
|
.metric-panel h2 {
|
||||||
background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
|
background-color: var(--monitor-header-bg);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|||||||
@@ -2,16 +2,34 @@
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
--navbar-color: #9d9d9d;
|
--navbar-color: #9d9d9d;
|
||||||
|
--navbar-color-active: var(--navbar-color);
|
||||||
--navbar-bg: #222;
|
--navbar-bg: #222;
|
||||||
|
--navbar-bg-active: #080808;
|
||||||
|
--navbar-bg-border-active: none;
|
||||||
--navbar-image: linear-gradient(to bottom, #3c3c3c 0, #222 100%);
|
--navbar-image: linear-gradient(to bottom, #3c3c3c 0, #222 100%);
|
||||||
--navbar-height: 50px;
|
--navbar-height: 50px;
|
||||||
|
--navbar-border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--navbar-color: #969ba1;
|
||||||
|
--navbar-color-active: #8ab4f8;
|
||||||
|
--navbar-bg: var(--bg-color);
|
||||||
|
--navbar-bg-active: none;
|
||||||
|
--navbar-bg-border-active: 3px solid var(--navbar-color-active);
|
||||||
|
--navbar-image: none;
|
||||||
|
--navbar-border-bottom: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
background-color: var(--navbar-bg);
|
background-color: var(--navbar-bg);
|
||||||
background-image: var(--navbar-image);
|
background-image: var(--navbar-image);
|
||||||
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
||||||
min-height: var(--navbar-height);
|
min-height: var(--navbar-height);
|
||||||
|
border-bottom: var(--navbar-border-bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-nav {
|
.main-nav {
|
||||||
@@ -66,7 +84,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
li.navbar-active > *:first-child {
|
li.navbar-active > *:first-child {
|
||||||
background-color: #080808;
|
background-color: var(--navbar-bg-active);
|
||||||
|
color: var(--navbar-color-active);
|
||||||
|
border-bottom: var(--navbar-bg-border-active);
|
||||||
}
|
}
|
||||||
|
|
||||||
li.navbar-active a,
|
li.navbar-active a,
|
||||||
@@ -92,7 +112,6 @@ li.navbar-active span,
|
|||||||
}
|
}
|
||||||
|
|
||||||
.navbar-mailbox input {
|
.navbar-mailbox input {
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
width: 250px;
|
width: 250px;
|
||||||
|
|||||||
Reference in New Issue
Block a user