aboutsummaryrefslogtreecommitdiff
path: root/ext/css/action-popup.css
diff options
context:
space:
mode:
authorKuuuube <61125188+Kuuuube@users.noreply.github.com>2024-06-18 14:00:52 -0400
committerGitHub <noreply@github.com>2024-06-18 18:00:52 +0000
commitebd911201df0e6fce95b408935fb35580851170e (patch)
tree1955088b5c5157a02b1d75d8994e20114199830c /ext/css/action-popup.css
parent129be78c9bf1b9d378050c6ca6ec722ef456c4ee (diff)
Add full dark mode support (#1079)
* Add full dark mode support * Fix welcome, permissions, and quick start scrollbars * Fix action popup dark mode on mobile * Add theme to info page * Reduce flashbang * Move position of settingsDisplayController to not break things * Fix dictionary import drag drop theming * Make dark shadow color less bad * Prepare themeController to avoid not being able to set browser theme
Diffstat (limited to 'ext/css/action-popup.css')
-rw-r--r--ext/css/action-popup.css63
1 files changed, 44 insertions, 19 deletions
diff --git a/ext/css/action-popup.css b/ext/css/action-popup.css
index e88aa3ee..5b68396f 100644
--- a/ext/css/action-popup.css
+++ b/ext/css/action-popup.css
@@ -27,6 +27,30 @@
--warning-color: #96751c;
--warning-color-light: #edc75e;
+
+ --nav-button-background-image: linear-gradient(#f8f8f8, #e0e0e0);
+ --nav-button-border-color: #cccccc;
+ --nav-button-background-image-focus: linear-gradient(#e8e8e8, #d0d0d0);
+ --nav-button-border-color-focus: #aaaaaa;
+ --nav-button-background-image-active-focus: linear-gradient(#c8c8c8, #e0e0e0);
+ --nav-button-border-color-active-focus: #808080;
+ --nav-button-icon-bg: #333333;
+ --background-color: #f8f9fa;
+ --text-color: #333333;
+ --svg-filter: 0;
+}
+
+:root[data-theme=dark] {
+ --nav-button-background-image: linear-gradient(#464646, #444444);
+ --nav-button-border-color: #333333;
+ --nav-button-background-image-focus: linear-gradient(#171717, #2f2f2f);
+ --nav-button-border-color-focus: #555555;
+ --nav-button-background-image-active-focus: linear-gradient(#373737, #1f1f1f);
+ --nav-button-border-color-active-focus: #7f7f7f;
+ --nav-button-icon-bg: #fbfbfb;
+ --background-color: #1e1e1e;
+ --text-color: #cccccc;
+ --svg-filter: invert(100%);
}
body {
@@ -36,6 +60,7 @@ body {
font-size: var(--font-size);
width: max-content;
height: max-content;
+ background-color: var(--background-color);
}
h3 {
@@ -44,7 +69,7 @@ h3 {
font-weight: 500;
line-height: 1.1;
font-size: 24px;
- color: inherit;
+ color: var(--text-color);
}
label {
font-weight: normal;
@@ -98,7 +123,7 @@ label {
margin: 0 -10px;
padding: 0.5em 10px;
cursor: pointer;
- color: #333;
+ color: var(--text-color);
text-decoration: none;
background-color: transparent;
transition: background-color 0.125s linear 0s;
@@ -109,7 +134,7 @@ label {
}
.link-group:hover,
.link-group:active {
- color: #333;
+ color: var(--text-color);
text-decoration: none;
}
.link-group:hover>.link-group-label,
@@ -136,11 +161,11 @@ label {
margin: 0;
padding: 0;
}
-.link-group-icon[data-icon=chevron] { background-image: url(/images/right-chevron.svg); }
-.link-group-icon[data-icon=cog] { background-image: url(/images/cog.svg); }
-.link-group-icon[data-icon=key] { background-image: url(/images/key.svg); }
-.link-group-icon[data-icon=magnifying-glass] { background-image: url(/images/magnifying-glass.svg); }
-.link-group-icon[data-icon=question-mark-circle] { background-image: url(/images/question-mark-circle.svg); }
+.link-group-icon[data-icon=chevron] { background-image: url(/images/right-chevron.svg); filter: var(--svg-filter); }
+.link-group-icon[data-icon=cog] { background-image: url(/images/cog.svg); filter: var(--svg-filter); }
+.link-group-icon[data-icon=key] { background-image: url(/images/key.svg); filter: var(--svg-filter); }
+.link-group-icon[data-icon=magnifying-glass] { background-image: url(/images/magnifying-glass.svg); filter: var(--svg-filter); }
+.link-group-icon[data-icon=question-mark-circle] { background-image: url(/images/question-mark-circle.svg); filter: var(--svg-filter); }
.link-group-label {
vertical-align: middle;
@@ -304,8 +329,8 @@ input[type=checkbox]~.toggle-group>.toggle-handle:active:focus {
white-space: nowrap;
}
.nav-button {
- background-image: linear-gradient(#f8f8f8, #e0e0e0);
- border: 1px solid #cccccc;
+ background-image: var(--nav-button-background-image);
+ border: 1px solid var(--nav-button-border-color);
margin: 0;
padding: 2px 3px;
cursor: pointer;
@@ -317,27 +342,27 @@ input[type=checkbox]~.toggle-group>.toggle-handle:active:focus {
.nav-button:hover,
.nav-button:focus {
z-index: 1;
- border-color: #aaaaaa;
- background-image: linear-gradient(#e8e8e8, #d0d0d0);
+ border-color: var(--nav-button-border-color-focus);
+ background-image: var(--nav-button-background-image-focus);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
outline: none;
}
.nav-button:focus:not(:focus-visible) {
- background-image: linear-gradient(#f8f8f8, #e0e0e0);
- border-color: #cccccc;
+ background-image: var(--nav-button-background-image);
+ border-color: var(--nav-button-border-color);
box-shadow: none;
}
.nav-button:focus-visible {
z-index: 1;
- border-color: #aaaaaa;
- background-image: linear-gradient(#e8e8e8, #d0d0d0);
+ border-color: var(--nav-button-border-color-focus);
+ background-image: var(--nav-button-background-image-focus);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}
.nav-button:active,
.nav-button:active:focus {
z-index: 1;
- border-color: #808080;
- background-image: linear-gradient(#c8c8c8, #e0e0e0);
+ border-color: var(--nav-button-border-color-active-focus);
+ background-image: var(--nav-button-background-image-active-focus);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}
.nav-button>.icon {
@@ -346,7 +371,7 @@ input[type=checkbox]~.toggle-group>.toggle-handle:active:focus {
width: 16px;
height: 16px;
box-sizing: content-box;
- background-color: #333333;
+ background-color: var(--nav-button-icon-bg);
}
.nav-button:first-child,
.nav-button:first-child[hidden]+.nav-button {