From 3b2905beb075d433cdd03360fb580960d817a697 Mon Sep 17 00:00:00 2001 From: Alexander Willner Date: Sun, 12 Apr 2020 20:55:44 +0200 Subject: [PATCH] dark mode --- resources/kanban.css | 48 +++++++++++++++++++++++++++++++++++++- resources/kanban.html | 8 +++++-- resources/logo-dark.png | Bin 0 -> 14605 bytes things3/things3_kanban.py | 5 ++-- 4 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 resources/logo-dark.png diff --git a/resources/kanban.css b/resources/kanban.css index d1ea42e..909444e 100644 --- a/resources/kanban.css +++ b/resources/kanban.css @@ -56,7 +56,12 @@ html, body{ margin: 15px; padding: 10px; word-wrap: break-word; + transition: background .3s ease-in-out; } +.box:hover { + background: #eee; +} + h2 { color: white; margin:0; padding:15px;} h2 .size {float: right; padding-right: 10px;} @@ -83,4 +88,45 @@ a { color: #333; text-decoration: none; } top: 50%; vertical-align: middle; width: 100%; -} \ No newline at end of file +} + + +@media (prefers-color-scheme: dark) { + html, body, .footer, .box { + background:#222; + color: #fff; + } + .box { + box-shadow: 2px 2px #333; + opacity: .85; + } + .box:hover { + opacity: 1; + background: #666; + } + + h2, a { color: #eee; } + .dark { + display: block !important; + opacity: .85; + transition: opacity .5s ease-in-out; + } + img:hover { + opacity: 1; + } + .bright { display: none;} + .column:nth-child(even) {background: #444;} + .column:nth-child(odd) {background: #333;} + + .hasProject {background-color: #393;} + .hasNoProject {background-color: #993;} + .hasDeadline {background-color: #933;} + + .color1 {background:#423085;} + .color2 {background:#1C6C68;} + .color3 {background:#4B585F;} + .color4 {background:#9E500F;} + .color5 {background:#420043;} + .color6 {background:#217944;} + .color7 {background:#0F54A3;} +} diff --git a/resources/kanban.html b/resources/kanban.html index 5650657..5a80e80 100644 --- a/resources/kanban.html +++ b/resources/kanban.html @@ -9,8 +9,12 @@ KanbanView for Things 3 -
+
+ + + + +
Loading database...
diff --git a/resources/logo-dark.png b/resources/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..44c3fa0f3d07997963754ae7ad83d31323283149 GIT binary patch literal 14605 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 Vzh)xk>0jojB(E-4CG+{~{{gmC$&mm6 literal 0 HcmV?d00001 diff --git a/things3/things3_kanban.py b/things3/things3_kanban.py index 56ab3dc..23fb149 100755 --- a/things3/things3_kanban.py +++ b/things3/things3_kanban.py @@ -73,8 +73,9 @@ def write_html_header(file):
- - + + +