aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xapp/Controllers/configureController.php2
-rw-r--r--app/Models/ConfigurationSetter.php7
-rw-r--r--app/Models/UserConfiguration.php1
-rw-r--r--app/i18n/cz/conf.php1
-rw-r--r--app/i18n/de/conf.php1
-rw-r--r--app/i18n/el/conf.php1
-rw-r--r--app/i18n/en-us/conf.php1
-rw-r--r--app/i18n/en/conf.php1
-rwxr-xr-xapp/i18n/es/conf.php1
-rw-r--r--app/i18n/fr/conf.php1
-rw-r--r--app/i18n/he/conf.php1
-rw-r--r--app/i18n/id/conf.php1
-rw-r--r--app/i18n/it/conf.php1
-rw-r--r--app/i18n/ja/conf.php1
-rw-r--r--app/i18n/ko/conf.php1
-rw-r--r--app/i18n/nl/conf.php1
-rw-r--r--app/i18n/oc/conf.php1
-rw-r--r--app/i18n/pl/conf.php1
-rw-r--r--app/i18n/pt-br/conf.php1
-rw-r--r--app/i18n/ru/conf.php1
-rw-r--r--app/i18n/sk/conf.php1
-rw-r--r--app/i18n/tr/conf.php1
-rw-r--r--app/i18n/zh-cn/conf.php1
-rw-r--r--app/i18n/zh-tw/conf.php1
-rw-r--r--app/layout/layout.phtml2
-rw-r--r--app/views/configure/display.phtml10
-rw-r--r--config-user.default.php1
-rw-r--r--p/themes/Origine-compact/origine-compact.css5
-rw-r--r--p/themes/Origine-compact/origine-compact.rtl.css5
-rw-r--r--p/themes/Origine/origine.css119
-rw-r--r--p/themes/Origine/origine.rtl.css119
31 files changed, 265 insertions, 27 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index 926ab2272..710a927d6 100755
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -25,6 +25,7 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController {
* The options available on the page are:
* - language (default: en)
* - theme (default: Origin)
+ * - darkMode (default: no)
* - content width (default: thin)
* - display of read action in header
* - display of favorite action in header
@@ -44,6 +45,7 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController {
FreshRSS_Context::$user_conf->language = Minz_Request::param('language', 'en');
FreshRSS_Context::$user_conf->timezone = Minz_Request::param('timezone', '');
FreshRSS_Context::$user_conf->theme = Minz_Request::param('theme', FreshRSS_Themes::$defaultTheme);
+ FreshRSS_Context::$user_conf->darkMode = Minz_Request::param('darkMode', 'no');
FreshRSS_Context::$user_conf->content_width = Minz_Request::param('content_width', 'thin');
FreshRSS_Context::$user_conf->topline_read = Minz_Request::param('topline_read', false);
FreshRSS_Context::$user_conf->topline_favorite = Minz_Request::param('topline_favorite', false);
diff --git a/app/Models/ConfigurationSetter.php b/app/Models/ConfigurationSetter.php
index c822bcf4d..258c2ad58 100644
--- a/app/Models/ConfigurationSetter.php
+++ b/app/Models/ConfigurationSetter.php
@@ -234,6 +234,13 @@ class FreshRSS_ConfigurationSetter {
$data['sticky_post'] = $this->handleBool($value);
}
+ private function _darkMode(&$data, $value) {
+ if (!in_array($value, [ 'no', 'auto'], true)) {
+ $value = 'no';
+ }
+ $data['darkMode'] = $value;
+ }
+
private function _bottomline_date(&$data, $value) {
$data['bottomline_date'] = $this->handleBool($value);
}
diff --git a/app/Models/UserConfiguration.php b/app/Models/UserConfiguration.php
index 157737cb8..53b12cc2e 100644
--- a/app/Models/UserConfiguration.php
+++ b/app/Models/UserConfiguration.php
@@ -53,6 +53,7 @@
* @property bool $sides_close_article
* @property bool $sticky_post
* @property string $theme
+ * @property string $darkMode
* @property string $token
* @property bool $topline_date
* @property bool $topline_display_authors
diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php
index 7b0b85465..9d646be36 100644
--- a/app/i18n/cz/conf.php
+++ b/app/i18n/cz/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Zobrazení',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Spodní řádek',
'display_authors' => 'Autoři',
diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php
index 52826353b..33604b618 100644
--- a/app/i18n/de/conf.php
+++ b/app/i18n/de/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Anzeige',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Fußzeile',
'display_authors' => 'Autoren',
diff --git a/app/i18n/el/conf.php b/app/i18n/el/conf.php
index a068282ea..e2629bd54 100644
--- a/app/i18n/el/conf.php
+++ b/app/i18n/el/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Display', // TODO
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Bottom line', // TODO
'display_authors' => 'Authors', // TODO
diff --git a/app/i18n/en-us/conf.php b/app/i18n/en-us/conf.php
index 8a572def3..760cbf37f 100644
--- a/app/i18n/en-us/conf.php
+++ b/app/i18n/en-us/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Display', // IGNORE
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Bottom line', // IGNORE
'display_authors' => 'Authors', // IGNORE
diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php
index d6633f981..02f95b6a8 100644
--- a/app/i18n/en/conf.php
+++ b/app/i18n/en/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Display',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Bottom line',
'display_authors' => 'Authors',
diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php
index 8c77dcd7e..74d324c24 100755
--- a/app/i18n/es/conf.php
+++ b/app/i18n/es/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Visualización',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Línea inferior',
'display_authors' => 'Autores/Autoras',
diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php
index 71902d96d..88a51eee1 100644
--- a/app/i18n/fr/conf.php
+++ b/app/i18n/fr/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Affichage',
+ 'darkMode' => 'Mode sombre automatique (bêta)',
'icon' => array(
'bottom_line' => 'Ligne du bas',
'display_authors' => 'Auteurs',
diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php
index ec322fddf..2d0eea4b9 100644
--- a/app/i18n/he/conf.php
+++ b/app/i18n/he/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'תצוגה',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'שורה תחתונה',
'display_authors' => 'Authors', // TODO
diff --git a/app/i18n/id/conf.php b/app/i18n/id/conf.php
index f46347fe2..10f649823 100644
--- a/app/i18n/id/conf.php
+++ b/app/i18n/id/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Display', // TODO
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Bottom line', // TODO
'display_authors' => 'Authors', // TODO
diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php
index 8efe6be41..5065fe7ea 100644
--- a/app/i18n/it/conf.php
+++ b/app/i18n/it/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Visualizzazione',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Barra in fondo',
'display_authors' => 'Autori',
diff --git a/app/i18n/ja/conf.php b/app/i18n/ja/conf.php
index f84354c36..1247a0ce9 100644
--- a/app/i18n/ja/conf.php
+++ b/app/i18n/ja/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => '表示',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => '行の下部',
'display_authors' => '著者',
diff --git a/app/i18n/ko/conf.php b/app/i18n/ko/conf.php
index 95fda6969..9ee82802e 100644
--- a/app/i18n/ko/conf.php
+++ b/app/i18n/ko/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => '표시',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => '하단',
'display_authors' => '저자',
diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php
index 261c3aa33..8a22f9e27 100644
--- a/app/i18n/nl/conf.php
+++ b/app/i18n/nl/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Opmaak',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Onderaan',
'display_authors' => 'Auteurs',
diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php
index 9f157a497..4d1e03786 100644
--- a/app/i18n/oc/conf.php
+++ b/app/i18n/oc/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Afichatge',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Linha enbàs',
'display_authors' => 'Autors',
diff --git a/app/i18n/pl/conf.php b/app/i18n/pl/conf.php
index 3349bbf53..f026fe128 100644
--- a/app/i18n/pl/conf.php
+++ b/app/i18n/pl/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Wyświetlanie',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Dolny margines',
'display_authors' => 'Autorzy',
diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php
index bcf9fbd2f..dc05a0fa0 100644
--- a/app/i18n/pt-br/conf.php
+++ b/app/i18n/pt-br/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Exibição',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Linha inferior',
'display_authors' => 'Autores',
diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php
index 98e6f5003..4d65a9dcb 100644
--- a/app/i18n/ru/conf.php
+++ b/app/i18n/ru/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Отображение',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Нижняя линия',
'display_authors' => 'Авторы',
diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php
index 822de7b09..ab68d07ca 100644
--- a/app/i18n/sk/conf.php
+++ b/app/i18n/sk/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Zobrazenie',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Spodný riadok',
'display_authors' => 'Autori',
diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php
index 14eb152c3..cb72d3973 100644
--- a/app/i18n/tr/conf.php
+++ b/app/i18n/tr/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => 'Görünüm',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => 'Alt çizgi',
'display_authors' => 'Yazarlar',
diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php
index a4d293aeb..d558c025e 100644
--- a/app/i18n/zh-cn/conf.php
+++ b/app/i18n/zh-cn/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => '显示',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => '底栏',
'display_authors' => '作者',
diff --git a/app/i18n/zh-tw/conf.php b/app/i18n/zh-tw/conf.php
index 61ba44151..3001f64c5 100644
--- a/app/i18n/zh-tw/conf.php
+++ b/app/i18n/zh-tw/conf.php
@@ -32,6 +32,7 @@ return array(
),
'display' => array(
'_' => '顯示',
+ 'darkMode' => 'Automatic dark mode (beta)', // TODO
'icon' => array(
'bottom_line' => '底欄',
'display_authors' => '作者',
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml
index 48ada7183..1e9ce6905 100644
--- a/app/layout/layout.phtml
+++ b/app/layout/layout.phtml
@@ -52,7 +52,7 @@ if (_t('gen.dir') === 'rtl') {
<meta name="robots" content="noindex,nofollow" />
<?php } ?>
</head>
- <body class="<?= Minz_Request::actionName() ?>">
+ <body class="<?= Minz_Request::actionName() ?><?= (FreshRSS_Context::$user_conf->darkMode === 'no') ? '' : ' darkMode_' . FreshRSS_Context::$user_conf->darkMode ?>">
<?php
if (!Minz_Request::param('ajax')) {
flush();
diff --git a/app/views/configure/display.phtml b/app/views/configure/display.phtml
index 0fde2b50e..2fda0cb19 100644
--- a/app/views/configure/display.phtml
+++ b/app/views/configure/display.phtml
@@ -95,6 +95,16 @@
</div>
</div>
+ <div class="form-group">
+ <label class="group-name" for="darkMode"><?= _t('conf.display.darkMode') ?></label>
+ <div class="group-controls">
+ <select name="darkMode" id="darkMode" data-leave-validation="<?= FreshRSS_Context::$user_conf->darkMode ?>">
+ <option value="no"<?php FreshRSS_Context::$user_conf->darkMode === 'no' ? ' selected' : '' ?>>No</option>
+ <option value="auto"<?php FreshRSS_Context::$user_conf->darkMode === 'auto' ? ' selected' : '' ?>>Auto</option>
+ </select>
+ </div>
+ </div>
+
<?php $width = FreshRSS_Context::$user_conf->content_width; ?>
<div class="form-group">
<label class="group-name" for="content_width"><?= _t('conf.display.width.content') ?></label>
diff --git a/config-user.default.php b/config-user.default.php
index e1f332bf2..5a26841ac 100644
--- a/config-user.default.php
+++ b/config-user.default.php
@@ -64,6 +64,7 @@ return array (
'site' => true,
),
'theme' => 'Origine',
+ 'darkMode' => 'no',
'content_width' => 'thin',
'shortcuts' => array (
'actualize' => 'q',
diff --git a/p/themes/Origine-compact/origine-compact.css b/p/themes/Origine-compact/origine-compact.css
index bea5d5cf6..d94b09fb7 100644
--- a/p/themes/Origine-compact/origine-compact.css
+++ b/p/themes/Origine-compact/origine-compact.css
@@ -40,11 +40,6 @@ a.btn,
}
/*=== Dropdown */
-.item ~ .dropdown-header,
-.item.separator {
- border-top-color: #ddd;
-}
-
/*=== Alerts */
/*=== Pagination */
/*=== Boxes */
diff --git a/p/themes/Origine-compact/origine-compact.rtl.css b/p/themes/Origine-compact/origine-compact.rtl.css
index 8929847bb..c98c5f6da 100644
--- a/p/themes/Origine-compact/origine-compact.rtl.css
+++ b/p/themes/Origine-compact/origine-compact.rtl.css
@@ -40,11 +40,6 @@ a.btn,
}
/*=== Dropdown */
-.item ~ .dropdown-header,
-.item.separator {
- border-top-color: #ddd;
-}
-
/*=== Alerts */
/*=== Pagination */
/*=== Boxes */
diff --git a/p/themes/Origine/origine.css b/p/themes/Origine/origine.css
index fd119fe19..af9d3330a 100644
--- a/p/themes/Origine/origine.css
+++ b/p/themes/Origine/origine.css
@@ -12,8 +12,10 @@
--background-color-hover: #f6f6f6;
--unread-article-background-color: #fff3ed;
+ --unread-article-background-color-hover: #faeee8;
--unread-article-border-color: #ff5300;
--favorite-article-background-color: #fff6da;
+ --favorite-article-background-color-hover: #fcf2d6;
--favorite-article-border-color: #ffc300;
--contrast-background-color: #0084cc;
@@ -825,34 +827,42 @@ a:hover .icon {
border-left: 2px solid var(--contrast-border-color-active);
}
-.flux .flux_header:hover {
- background-color: var(--background-color-hover) !important;
+.flux .flux_header:hover,
+.flux .flux_header:hover .item {
+ background-color: var(--background-color-hover);
}
-.flux .flux_header:not(.current):hover .item.title {
- background: inherit;
+.flux .flux_header:not(.current):hover .flux_header,
+.flux .flux_header:not(.current):hover .flux_header .item {
+ background-color: var(--background-color-hover);
}
.flux.not_read {
border-left: 2px solid var(--unread-article-border-color);
}
-.flux.not_read .flux_header {
+.flux.not_read .flux_header .item {
background-color: var(--unread-article-background-color);
}
-.flux.not_read:not(.current):hover .item.title {
- background: inherit;
+.flux.not_read:not(.current):hover .flux_header,
+.flux.not_read:not(.current):hover .flux_header .item {
+ background-color: var(--unread-article-background-color-hover);
}
.flux.favorite {
border-left: 2px solid var(--favorite-article-border-color);
}
-.flux.favorite:not(.current) {
+.flux.favorite:not(.current) .flux_header .item {
background-color: var(--favorite-article-background-color);
}
+.flux.favorite:not(.current):hover .flux_header,
+.flux.favorite:not(.current):hover .flux_header .item {
+ background-color: var(--favorite-article-background-color-hover);
+}
+
.flux_header {
font-size: 0.9rem;
border-top: 1px solid var(--border-color);
@@ -1188,3 +1198,96 @@ a:hover .icon {
display: none;
}
}
+
+@media screen and (prefers-color-scheme: dark) {
+ :root .darkMode_auto {
+ --frss-background-color: #000;
+ --frss-background-color-middle: #222;
+ --frss-border-color: #444;
+ --frss-font-color-grey-dark: #999;
+ --frss-font-color-dark: #ddd;
+ --frss-modal-background-color-transparent: #000000a3;
+ --frss-background-color-transparent: #000000a3;
+ --frss-scrollbar-handle: #fff1;
+ --frss-scrollbar-handle-hover: #fff4;
+
+ --background-color-light-gradient: #111;
+ --background-color-light: #111;
+ --background-color-light-shadowed: #191919;
+ --background-color-grey: #1f1f1f;
+ --background-color-hover: #09090977;
+
+ --unread-article-background-color: #201f1e;
+ --unread-article-background-color-hover: #1a1918;
+ --unread-article-border-color: #ff5300;
+ --favorite-article-background-color: #24221d;
+ --favorite-article-background-color-hover: #1d1b17;
+ --favorite-article-border-color: #ffc300;
+
+ --contrast-background-color: #0084cc;
+ --contrast-background-color-gradient: #0045cc;
+ --contrast-background-color-hover: #06c;
+ --contrast-background-color-active: #038;
+ --contrast-border-color: #0062b7;
+
+ --contrast-background-font-color: #eee;
+
+ --attention-background-color-gradient1: #ea4a46;
+ --attention-background-color-gradient2: #911811;
+
+ --attention-background-color-gradient1-hover: #d14641;
+ --attention-background-color-gradient2-hover: #bd362f;
+ --attention-background-color-active: #bd362f;
+ --attention-border-color: #c44742;
+
+ --empty-feed-color: #e67e22;
+ --error-feed-color: #bd362f;
+
+ --alert-warn-background-color: #ffffe022;
+ --alert-warn-font-color: #ccc;
+ --alert-warn-border-color: #eeb;
+ --alert-success-background-color: #e8ffe814;
+ --alert-success-font-color: #96c196;
+ --alert-success-border-color: #cec;
+ --alert-error-background-color: #fdda;
+ --alert-error-font-color: #693a3a;
+ --alert-error-boder-color: #ecc;
+
+ --notification-good-background-color: #ffe;
+ --notification-good-border-color: #eeb;
+ --notification-good-font-color: #916a37;
+ --notification-bad-background-color: #fdd;
+ --notification-bad-font-color: #643838;
+ --notification-bad-border-color: #ecc;
+ --notification-close-background-color-hover: #aaa2;
+
+ --font-color: #ccc;
+ --font-color-grey: #aaa;
+ --font-color-light-shadowed: #555;
+ --font-color-light: #ccc;
+
+ --text-shadow-color: #1c1c1c;
+ --text-shadow-color-dark: #666;
+ --box-shadow-color: #4446;
+ --box-shadow-color-inset: #1f1f1f;
+
+ --font-color-link: #467eb3;
+ --font-color-link-hover: #0062be;
+
+ --border-color: #222;
+ --border-color-shadow-side: #333;
+ --contrast-border-color-active: #0062be;
+
+ --form-element-font-color-focus: #879db1;
+ --form-element-border-color-focus: #0062be;
+ --form-element-focus-box-shadow-color-inset: #110;
+ --form-element-border-color-invalid: #f00;
+ --form-element-invalid-box-shadow-color-inset: #fdd;
+ }
+
+ .btn.active,
+ .btn:active,
+ .dropdown-target:target ~ .btn.dropdown-toggle {
+ background: var(--border-color);
+ }
+}
diff --git a/p/themes/Origine/origine.rtl.css b/p/themes/Origine/origine.rtl.css
index 9127ac9e8..27c381f6a 100644
--- a/p/themes/Origine/origine.rtl.css
+++ b/p/themes/Origine/origine.rtl.css
@@ -12,8 +12,10 @@
--background-color-hover: #f6f6f6;
--unread-article-background-color: #fff3ed;
+ --unread-article-background-color-hover: #faeee8;
--unread-article-border-color: #ff5300;
--favorite-article-background-color: #fff6da;
+ --favorite-article-background-color-hover: #fcf2d6;
--favorite-article-border-color: #ffc300;
--contrast-background-color: #0084cc;
@@ -825,34 +827,42 @@ a:hover .icon {
border-right: 2px solid var(--contrast-border-color-active);
}
-.flux .flux_header:hover {
- background-color: var(--background-color-hover) !important;
+.flux .flux_header:hover,
+.flux .flux_header:hover .item {
+ background-color: var(--background-color-hover);
}
-.flux .flux_header:not(.current):hover .item.title {
- background: inherit;
+.flux .flux_header:not(.current):hover .flux_header,
+.flux .flux_header:not(.current):hover .flux_header .item {
+ background-color: var(--background-color-hover);
}
.flux.not_read {
border-right: 2px solid var(--unread-article-border-color);
}
-.flux.not_read .flux_header {
+.flux.not_read .flux_header .item {
background-color: var(--unread-article-background-color);
}
-.flux.not_read:not(.current):hover .item.title {
- background: inherit;
+.flux.not_read:not(.current):hover .flux_header,
+.flux.not_read:not(.current):hover .flux_header .item {
+ background-color: var(--unread-article-background-color-hover);
}
.flux.favorite {
border-right: 2px solid var(--favorite-article-border-color);
}
-.flux.favorite:not(.current) {
+.flux.favorite:not(.current) .flux_header .item {
background-color: var(--favorite-article-background-color);
}
+.flux.favorite:not(.current):hover .flux_header,
+.flux.favorite:not(.current):hover .flux_header .item {
+ background-color: var(--favorite-article-background-color-hover);
+}
+
.flux_header {
font-size: 0.9rem;
border-top: 1px solid var(--border-color);
@@ -1188,3 +1198,96 @@ a:hover .icon {
display: none;
}
}
+
+@media screen and (prefers-color-scheme: dark) {
+ :root .darkMode_auto {
+ --frss-background-color: #000;
+ --frss-background-color-middle: #222;
+ --frss-border-color: #444;
+ --frss-font-color-grey-dark: #999;
+ --frss-font-color-dark: #ddd;
+ --frss-modal-background-color-transparent: #000000a3;
+ --frss-background-color-transparent: #000000a3;
+ --frss-scrollbar-handle: #fff1;
+ --frss-scrollbar-handle-hover: #fff4;
+
+ --background-color-light-gradient: #111;
+ --background-color-light: #111;
+ --background-color-light-shadowed: #191919;
+ --background-color-grey: #1f1f1f;
+ --background-color-hover: #09090977;
+
+ --unread-article-background-color: #201f1e;
+ --unread-article-background-color-hover: #1a1918;
+ --unread-article-border-color: #ff5300;
+ --favorite-article-background-color: #24221d;
+ --favorite-article-background-color-hover: #1d1b17;
+ --favorite-article-border-color: #ffc300;
+
+ --contrast-background-color: #0084cc;
+ --contrast-background-color-gradient: #0045cc;
+ --contrast-background-color-hover: #06c;
+ --contrast-background-color-active: #038;
+ --contrast-border-color: #0062b7;
+
+ --contrast-background-font-color: #eee;
+
+ --attention-background-color-gradient1: #ea4a46;
+ --attention-background-color-gradient2: #911811;
+
+ --attention-background-color-gradient1-hover: #d14641;
+ --attention-background-color-gradient2-hover: #bd362f;
+ --attention-background-color-active: #bd362f;
+ --attention-border-color: #c44742;
+
+ --empty-feed-color: #e67e22;
+ --error-feed-color: #bd362f;
+
+ --alert-warn-background-color: #ffffe022;
+ --alert-warn-font-color: #ccc;
+ --alert-warn-border-color: #eeb;
+ --alert-success-background-color: #e8ffe814;
+ --alert-success-font-color: #96c196;
+ --alert-success-border-color: #cec;
+ --alert-error-background-color: #fdda;
+ --alert-error-font-color: #693a3a;
+ --alert-error-boder-color: #ecc;
+
+ --notification-good-background-color: #ffe;
+ --notification-good-border-color: #eeb;
+ --notification-good-font-color: #916a37;
+ --notification-bad-background-color: #fdd;
+ --notification-bad-font-color: #643838;
+ --notification-bad-border-color: #ecc;
+ --notification-close-background-color-hover: #aaa2;
+
+ --font-color: #ccc;
+ --font-color-grey: #aaa;
+ --font-color-light-shadowed: #555;
+ --font-color-light: #ccc;
+
+ --text-shadow-color: #1c1c1c;
+ --text-shadow-color-dark: #666;
+ --box-shadow-color: #4446;
+ --box-shadow-color-inset: #1f1f1f;
+
+ --font-color-link: #467eb3;
+ --font-color-link-hover: #0062be;
+
+ --border-color: #222;
+ --border-color-shadow-side: #333;
+ --contrast-border-color-active: #0062be;
+
+ --form-element-font-color-focus: #879db1;
+ --form-element-border-color-focus: #0062be;
+ --form-element-focus-box-shadow-color-inset: #110;
+ --form-element-border-color-invalid: #f00;
+ --form-element-invalid-box-shadow-color-inset: #fdd;
+ }
+
+ .btn.active,
+ .btn:active,
+ .dropdown-target:target ~ .btn.dropdown-toggle {
+ background: var(--border-color);
+ }
+}