From 8f35a99fdd6683dcc237d7a7a067986d7250b886 Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Tue, 20 Oct 2020 09:55:38 +1100 Subject: [PATCH 1/6] make block text colour apply to text with backgrounds --- CHANGELOG.md | 1 + mods/core/css/theme.css | 244 +++++++++++++++++++++++++++++------- mods/core/css/variables.css | 156 +++++++++++------------ 3 files changed, 277 insertions(+), 124 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72b963d..bc95e57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ a flexibility update. - bugfix: removed typo in variable name for brown text. - bugfix: primary-colour text (mainly in "add a \_" popups) is now properly themed. - bugfix: right-to-left extension applies to text in columns. +- bugfix: block text colour applies to text with backgrounds. - tweak: sticky table/list rows. - theme: "material ocean" = an oceanic colour palette. - theme: "dracula" = a theme based on the popular dracula color palette diff --git a/mods/core/css/theme.css b/mods/core/css/theme.css index dc1bb30..ad52e80 100644 --- a/mods/core/css/theme.css +++ b/mods/core/css/theme.css @@ -536,55 +536,89 @@ color: var(--theme--text_gray) !important; fill: var(--theme--text_gray) !important; } -.notion-body.dark [style*='background: rgba(151, 154, 155, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(140, 46, 0, 0.2)'] { - background: var(--theme--select_gray) !important; - color: var(--theme--select_gray-text) !important; -} .notion-body.dark [style*='background:rgb(69,75,78)'], .notion-body:not(.dark) [style*='background:rgb(235,236,237)'] { background: var(--theme--bg_gray) !important; color: var(--theme--bg_gray-text) !important; } +.notion-body.dark + [style*='color:rgba(151,154,155,0.95)'] + [style*='background:rgb(69,75,78)'], +.notion-body.dark + [style*='color: rgba(255, 255, 255, 0.6); fill: rgba(255, 255, 255, 0.6);'] + [style*='background:rgb(69,75,78)'], +.notion-body:not(.dark) + [style*='color:rgb(155,154,151)'] + [style*='background:rgb(235,236,237)'], +.notion-body:not(.dark) + [style*='color: rgba(55, 53, 47, 0.6); fill: rgba(55, 53, 47, 0.6);'] + [style*='background:rgb(235,236,237)'] { + background: var(--theme--bg_gray) !important; + color: var(--theme--text_gray) !important; + fill: var(--theme--text_gray) !important; +} .notion-body.dark [style*='background: rgb(69, 75, 78)'], .notion-body:not(.dark) [style*='background: rgb(235, 236, 237)'] { background: var(--theme--line_gray) !important; color: var(--theme--line_gray-text) !important; } +.notion-body.dark [style*='background: rgba(151, 154, 155, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(140, 46, 0, 0.2)'] { + background: var(--theme--select_gray) !important; + color: var(--theme--select_gray-text) !important; +} .notion-body.dark [style*='background: rgba(69, 75, 78, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(235, 236, 237, 0.3)'] { background: var(--theme--callout_gray) !important; color: var(--theme--callout_gray-text) !important; } + .notion-body.dark [style*='color:rgb(147,114,100)'], .notion-body.dark [style*='color: rgb(147, 114, 100); fill: rgb(147, 114, 100);'], .notion-body:not(.dark) [style*='color:rgb(100,71,58)'], .notion-body:not(.dark) [style*='color: rgb(100, 71, 58); fill: rgb(100, 71, 58);'] { - fill: var(--theme--text_brown) !important; color: var(--theme--text_brown) !important; -} -.notion-body.dark [style*='background: rgba(147, 114, 100, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(140, 46, 0, 0.2)'] { - background: var(--theme--select_brown) !important; - color: var(--theme--select_brown-text) !important; + fill: var(--theme--text_brown) !important; } .notion-body.dark [style*='background:rgb(67,64,64)'], .notion-body:not(.dark) [style*='background:rgb(233,229,227)'] { background: var(--theme--bg_brown) !important; color: var(--theme--bg_brown-text) !important; } +.notion-body.dark + [style*='color:rgb(147,114,100)'] + [style*='background:rgb(67,64,64)'], +.notion-body.dark + [style*='color: rgb(147, 114, 100); fill: rgb(147, 114, 100);'] + [style*='background:rgb(67,64,64)'], +.notion-body:not(.dark) + [style*='color:rgb(100,71,58)'] + [style*='background:rgb(233,229,227)'], +.notion-body:not(.dark) + [style*='color: rgb(100, 71, 58); fill: rgb(100, 71, 58);'] + [style*='background:rgb(233,229,227)'] { + background: var(--theme--bg_brown) !important; + color: var(--theme--text_brown) !important; + fill: var(--theme--text_brown) !important; +} .notion-body.dark [style*='background: rgb(67, 64, 64)'], .notion-body:not(.dark) [style*='background: rgb(233, 229, 227)'] { background: var(--theme--line_brown) !important; color: var(--theme--line_brown-text) !important; } +.notion-body.dark [style*='background: rgba(147, 114, 100, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(140, 46, 0, 0.2)'] { + background: var(--theme--select_brown) !important; + color: var(--theme--select_brown-text) !important; +} .notion-body.dark [style*='background: rgba(67, 64, 64, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(233, 229, 227, 0.3)'] { background: var(--theme--callout_brown) !important; color: var(--theme--callout_brown-text) !important; } + .notion-body.dark [style*='color:rgb(255,163,68)'], .notion-body.dark [style*='color: rgb(255, 163, 68); fill: rgb(255, 163, 68);'], .notion-body:not(.dark) [style*='color:rgb(217,115,13)'], @@ -593,26 +627,43 @@ color: var(--theme--text_orange) !important; fill: var(--theme--text_orange) !important; } -.notion-body.dark [style*='background: rgba(255, 163, 68, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(245, 93, 0, 0.2)'] { - background: var(--theme--select_orange) !important; - color: var(--theme--select_orange-text) !important; -} .notion-body.dark [style*='background:rgb(89,74,58)'], .notion-body:not(.dark) [style*='background:rgb(250,235,221)'] { background: var(--theme--bg_orange) !important; color: var(--theme--bg_orange-text) !important; } +.notion-body.dark + [style*='color:rgb(255,163,68)'] + [style*='background:rgb(89,74,58)'], +.notion-body.dark + [style*='color: rgb(255, 163, 68); fill: rgb(255, 163, 68);'] + [style*='background:rgb(89,74,58)'], +.notion-body:not(.dark) + [style*='color:rgb(217,115,13)'] + [style*='background:rgb(250,235,221)'], +.notion-body:not(.dark) + [style*='color: rgb(217, 115, 13); fill: rgb(217, 115, 13);'] + [style*='background:rgb(250,235,221)'] { + background: var(--theme--bg_orange) !important; + color: var(--theme--text_orange) !important; + fill: var(--theme--text_orange) !important; +} .notion-body.dark [style*='background: rgb(89, 74, 58)'], .notion-body:not(.dark) [style*='background: rgb(250, 235, 221)'] { background: var(--theme--line_orange) !important; color: var(--theme--line_orange-text) !important; } +.notion-body.dark [style*='background: rgba(255, 163, 68, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(245, 93, 0, 0.2)'] { + background: var(--theme--select_orange) !important; + color: var(--theme--select_orange-text) !important; +} .notion-body.dark [style*='background: rgba(89, 74, 58, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(250, 235, 221, 0.3)'] { background: var(--theme--callout_orange) !important; color: var(--theme--callout_orange-text) !important; } + .notion-body.dark [style*='color:rgb(255,220,73)'], .notion-body.dark [style*='color: rgb(255, 220, 73); fill: rgb(255, 220, 73);'], .notion-body:not(.dark) [style*='color:rgb(223,171,1)'], @@ -621,26 +672,43 @@ color: var(--theme--text_yellow) !important; fill: var(--theme--text_yellow) !important; } -.notion-body.dark [style*='background: rgba(255, 220, 73, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(233, 168, 0, 0.2)'] { - background: var(--theme--select_yellow) !important; - color: var(--theme--select_yellow-text) !important; -} .notion-body.dark [style*='background:rgb(89,86,59)'], .notion-body:not(.dark) [style*='background:rgb(251,243,219)'] { background: var(--theme--bg_yellow) !important; color: var(--theme--bg_yellow-text) !important; } +.notion-body.dark + [style*='color:rgb(255,220,73)'] + [style*='background:rgb(89,86,59)'], +.notion-body.dark + [style*='color: rgb(255, 220, 73); fill: rgb(255, 220, 73);'] + [style*='background:rgb(89,86,59)'], +.notion-body:not(.dark) + [style*='color:rgb(223,171,1)'] + [style*='background:rgb(251,243,219)'], +.notion-body:not(.dark) + [style*='color: rgb(223, 171, 1); fill: rgb(223, 171, 1);'] + [style*='background:rgb(251,243,219)'] { + background: var(--theme--bg_yellow) !important; + color: var(--theme--text_yellow) !important; + fill: var(--theme--text_yellow) !important; +} .notion-body.dark [style*='background: rgb(89, 86, 59)'], .notion-body:not(.dark) [style*='background: rgb(251, 243, 219)'] { background: var(--theme--line_yellow) !important; color: var(--theme--line_yellow-text) !important; } +.notion-body.dark [style*='background: rgba(255, 220, 73, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(233, 168, 0, 0.2)'] { + background: var(--theme--select_yellow) !important; + color: var(--theme--select_yellow-text) !important; +} .notion-body.dark [style*='background: rgba(89, 86, 59, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(251, 243, 219, 0.3)'] { background: var(--theme--callout_yellow) !important; color: var(--theme--callout_yellow-text) !important; } + .notion-body.dark [style*='color:rgb(77,171,154)'], .notion-body.dark [style*='color: rgb(77, 171, 154); fill: rgb(77, 171, 154);'], .notion-body:not(.dark) [style*='color:rgb(15,123,108)'], @@ -649,26 +717,43 @@ color: var(--theme--text_green) !important; fill: var(--theme--text_green) !important; } -.notion-body.dark [style*='background: rgba(77, 171, 154, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(0, 135, 107, 0.2)'] { - background: var(--theme--select_green) !important; - color: var(--theme--select_green-text) !important; -} .notion-body.dark [style*='background:rgb(53,76,75)'], .notion-body:not(.dark) [style*='background:rgb(221,237,234)'] { background: var(--theme--bg_green) !important; color: var(--theme--bg_green-text) !important; } +.notion-body.dark + [style*='color:rgb(77,171,154)'] + [style*='background:rgb(53,76,75)'], +.notion-body.dark + [style*='color: rgb(77, 171, 154); fill: rgb(77, 171, 154);'] + [style*='background:rgb(53,76,75)'], +.notion-body:not(.dark) + [style*='color:rgb(15,123,108)'] + [style*='background:rgb(221,237,234)'], +.notion-body:not(.dark) + [style*='color: rgb(15, 123, 108); fill: rgb(15, 123, 108);'] + [style*='background:rgb(221,237,234)'] { + background: var(--theme--bg_green) !important; + color: var(--theme--text_green) !important; + fill: var(--theme--text_green) !important; +} .notion-body.dark [style*='background: rgb(53, 76, 75)'], .notion-body:not(.dark) [style*='background: rgb(221, 237, 234)'] { background: var(--theme--line_green) !important; color: var(--theme--line_green-text) !important; } +.notion-body.dark [style*='background: rgba(77, 171, 154, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(0, 135, 107, 0.2)'] { + background: var(--theme--select_green) !important; + color: var(--theme--select_green-text) !important; +} .notion-body.dark [style*='background: rgba(53, 76, 75, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(221, 237, 234, 0.3)'] { background: var(--theme--callout_green) !important; color: var(--theme--callout_green-text) !important; } + .notion-body.dark [style*='color:rgb(82,156,202)'], .notion-body.dark [style*='color: rgb(82, 156, 202); fill: rgb(82, 156, 202);'], .notion-body:not(.dark) [style*='color:rgb(11,110,153)'], @@ -677,26 +762,43 @@ color: var(--theme--text_blue) !important; fill: var(--theme--text_blue) !important; } -.notion-body.dark [style*='background: rgba(82, 156, 202, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(0, 120, 223, 0.2)'] { - background: var(--theme--select_blue) !important; - color: var(--theme--select_blue-text) !important; -} .notion-body.dark [style*='background:rgb(54,73,84)'], .notion-body:not(.dark) [style*='background:rgb(221,235,241)'] { background: var(--theme--bg_blue) !important; color: var(--theme--bg_blue-text) !important; } +.notion-body.dark + [style*='color:rgb(82,156,202)'] + [style*='background:rgb(54,73,84)'], +.notion-body.dark + [style*='color: rgb(82, 156, 202); fill: rgb(82, 156, 202);'] + [style*='background:rgb(54,73,84)'], +.notion-body:not(.dark) + [style*='color:rgb(11,110,153)'] + [style*='background:rgb(221,235,241)'], +.notion-body:not(.dark) + [style*='color: rgb(11, 110, 153); fill: rgb(11, 110, 153);'] + [style*='background:rgb(221,235,241)'] { + background: var(--theme--bg_blue) !important; + color: var(--theme--text_blue) !important; + fill: var(--theme--text_blue) !important; +} .notion-body.dark [style*='background: rgb(54, 73, 84)'], .notion-body:not(.dark) [style*='background: rgb(221, 235, 241)'] { background: var(--theme--line_blue) !important; color: var(--theme--line_blue-text) !important; } +.notion-body.dark [style*='background: rgba(82, 156, 202, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(0, 120, 223, 0.2)'] { + background: var(--theme--select_blue) !important; + color: var(--theme--select_blue-text) !important; +} .notion-body.dark [style*='background: rgba(54, 73, 84, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(221, 235, 241, 0.3)'] { background: var(--theme--callout_blue) !important; color: var(--theme--callout_blue-text) !important; } + .notion-body.dark [style*='color:rgb(154,109,215)'], .notion-body.dark [style*='color: rgb(154, 109, 215); fill: rgb(154, 109, 215);'], @@ -706,26 +808,43 @@ color: var(--theme--text_purple) !important; fill: var(--theme--text_purple) !important; } -.notion-body.dark [style*='background: rgba(154, 109, 215, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(103, 36, 222, 0.2)'] { - background: var(--theme--select_purple) !important; - color: var(--theme--select_purple-text) !important; -} .notion-body.dark [style*='background:rgb(68,63,87)'], .notion-body:not(.dark) [style*='background:rgb(234,228,242)'] { background: var(--theme--bg_purple) !important; color: var(--theme--bg_purple-text) !important; } +.notion-body.dark + [style*='color:rgb(154,109,215)'] + [style*='background:rgb(68,63,87)'], +.notion-body.dark + [style*='color: rgb(154, 109, 215); fill: rgb(154, 109, 215);'] + [style*='background:rgb(68,63,87)'], +.notion-body:not(.dark) + [style*='color:rgb(105,64,165)'] + [style*='background:rgb(234,228,242)'], +.notion-body:not(.dark) + [style*='color: rgb(105, 64, 165); fill: rgb(105, 64, 165);'] + [style*='background:rgb(234,228,242)'] { + background: var(--theme--bg_purple) !important; + color: var(--theme--text_purple) !important; + fill: var(--theme--text_purple) !important; +} .notion-body.dark [style*='background: rgb(68, 63, 87)'], .notion-body:not(.dark) [style*='background: rgb(234, 228, 242)'] { background: var(--theme--line_purple) !important; color: var(--theme--line_purple-text) !important; } +.notion-body.dark [style*='background: rgba(154, 109, 215, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(103, 36, 222, 0.2)'] { + background: var(--theme--select_purple) !important; + color: var(--theme--select_purple-text) !important; +} .notion-body.dark [style*='background: rgba(68, 63, 87, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(234, 228, 242, 0.3)'] { background: var(--theme--callout_purple) !important; color: var(--theme--callout_purple-text) !important; } + .notion-body.dark [style*='color:rgb(226,85,161)'], .notion-body.dark [style*='color: rgb(226, 85, 161); fill: rgb(226, 85, 161);'], .notion-body:not(.dark) [style*='color:rgb(173,26,114)'], @@ -734,26 +853,43 @@ color: var(--theme--text_pink) !important; fill: var(--theme--text_pink) !important; } -.notion-body.dark [style*='background: rgba(226, 85, 161, 0.5)'], -.notion-body:not(.dark) [style*='background: rgba(221, 0, 129, 0.2)'] { - background: var(--theme--select_pink) !important; - color: var(--theme--select_pink-text) !important; -} .notion-body.dark [style*='background:rgb(83,59,76)'], .notion-body:not(.dark) [style*='background:rgb(244,223,235)'] { background: var(--theme--bg_pink) !important; color: var(--theme--bg_pink-text) !important; } +.notion-body.dark + [style*='color:rgb(226,85,161)'] + [style*='background:rgb(83,59,76)'], +.notion-body.dark + [style*='color: rgb(226, 85, 161); fill: rgb(226, 85, 161);'] + [style*='background:rgb(83,59,76)'], +.notion-body:not(.dark) + [style*='color:rgb(173,26,114)'] + [style*='background:rgb(244,223,235)'], +.notion-body:not(.dark) + [style*='color: rgb(173, 26, 114); fill: rgb(173, 26, 114);'] + [style*='background:rgb(244,223,235)'] { + background: var(--theme--bg_pink) !important; + color: var(--theme--text_pink) !important; + fill: var(--theme--text_pink) !important; +} .notion-body.dark [style*='background: rgb(83, 59, 76)'], .notion-body:not(.dark) [style*='background: rgb(244, 223, 235)'] { background: var(--theme--line_pink) !important; color: var(--theme--line_pink-text) !important; } +.notion-body.dark [style*='background: rgba(226, 85, 161, 0.5)'], +.notion-body:not(.dark) [style*='background: rgba(221, 0, 129, 0.2)'] { + background: var(--theme--select_pink) !important; + color: var(--theme--select_pink-text) !important; +} .notion-body.dark [style*='background: rgba(83, 59, 76, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(244, 223, 235, 0.3)'] { background: var(--theme--callout_pink) !important; color: var(--theme--callout_pink-text) !important; } + .notion-body.dark [style*='color:rgb(255,115,105)'], .notion-body.dark [style*='color: rgb(255, 115, 105); fill: rgb(255, 115, 105);'], @@ -763,21 +899,37 @@ color: var(--theme--text_red) !important; fill: var(--theme--text_red) !important; } -.notion-body.dark [style*='background: rgba(255, 115, 105, 0.5);'], -.notion-body:not(.dark) [style*='background: rgba(255, 0, 26, 0.2)'] { - background: var(--theme--select_red) !important; - color: var(--theme--select_red-text) !important; -} .notion-body.dark [style*='background:rgb(89,65,65)'], .notion-body:not(.dark) [style*='background:rgb(251,228,228)'] { background: var(--theme--bg_red) !important; color: var(--theme--bg_red-text) !important; } +.notion-body.dark + [style*='color:rgb(255,115,105)'] + [style*='background:rgb(89,65,65)'], +.notion-body.dark + [style*='color: rgb(255, 115, 105); fill: rgb(255, 115, 105);'] + [style*='background:rgb(89,65,65)'], +.notion-body:not(.dark) + [style*='color:rgb(224,62,62)'] + [style*='background:rgb(251,228,228)'], +.notion-body:not(.dark) + [style*='color: rgb(224, 62, 62); fill: rgb(224, 62, 62);'] + [style*='background:rgb(251,228,228)'] { + background: var(--theme--bg_red) !important; + color: var(--theme--text_red) !important; + fill: var(--theme--text_red) !important; +} .notion-body.dark [style*='background: rgb(89, 65, 65)'], .notion-body:not(.dark) [style*='background: rgb(251, 228, 228)'] { background: var(--theme--line_red) !important; color: var(--theme--line_red-text) !important; } +.notion-body.dark [style*='background: rgba(255, 115, 105, 0.5);'], +.notion-body:not(.dark) [style*='background: rgba(255, 0, 26, 0.2)'] { + background: var(--theme--select_red) !important; + color: var(--theme--select_red-text) !important; +} .notion-body.dark [style*='background: rgba(89, 65, 65, 0.3)'], .notion-body:not(.dark) [style*='background: rgba(251, 228, 228, 0.3)'] { background: var(--theme--callout_red) !important; diff --git a/mods/core/css/variables.css b/mods/core/css/variables.css index b23f538..69d7b00 100644 --- a/mods/core/css/variables.css +++ b/mods/core/css/variables.css @@ -45,7 +45,7 @@ --theme_dark--font_body-size_small: 14px; --theme_dark--font_code-size: 0.796875em; --theme_dark--font_sidebar-size: 14px; - + --theme_dark--text-block_line-height: 1.5; --theme_dark--text-block_margin-top: 1px; @@ -93,26 +93,6 @@ --theme_dark--text_pink: rgb(226, 85, 161); --theme_dark--text_red: rgb(255, 115, 105); - --theme_dark--select-text: var(--theme_dark--text); - --theme_dark--select_gray: rgba(151, 154, 155, 0.5); - --theme_dark--select_gray-text: var(--theme_dark--select-text); - --theme_dark--select_brown: rgba(147, 114, 100, 0.5); - --theme_dark--select_brown-text: var(--theme_dark--select-text); - --theme_dark--select_orange: rgba(255, 163, 68, 0.5); - --theme_dark--select_orange-text: var(--theme_dark--select-text); - --theme_dark--select_yellow: rgba(255, 220, 73, 0.5); - --theme_dark--select_yellow-text: var(--theme_dark--select-text); - --theme_dark--select_green: rgba(77, 171, 154, 0.5); - --theme_dark--select_green-text: var(--theme_dark--select-text); - --theme_dark--select_blue: rgba(82, 156, 202, 0.5); - --theme_dark--select_blue-text: var(--theme_dark--select-text); - --theme_dark--select_purple: rgba(154, 109, 215, 0.5); - --theme_dark--select_purple-text: var(--theme_dark--select-text); - --theme_dark--select_pink: rgba(226, 85, 161, 0.5); - --theme_dark--select_pink-text: var(--theme_dark--select-text); - --theme_dark--select_red: rgba(255, 115, 105, 0.5); - --theme_dark--select_red-text: var(--theme_dark--select-text); - --theme_dark--bg-text: var(--theme_dark--text); --theme_dark--bg_gray: rgb(69, 75, 78); --theme_dark--bg_gray-text: var(--theme_dark--bg-text); @@ -153,6 +133,26 @@ --theme_dark--line_red: rgb(89, 65, 65); --theme_dark--line_red-text: var(--theme_dark--line-text); + --theme_dark--select-text: var(--theme_dark--text); + --theme_dark--select_gray: rgba(151, 154, 155, 0.5); + --theme_dark--select_gray-text: var(--theme_dark--select-text); + --theme_dark--select_brown: rgba(147, 114, 100, 0.5); + --theme_dark--select_brown-text: var(--theme_dark--select-text); + --theme_dark--select_orange: rgba(255, 163, 68, 0.5); + --theme_dark--select_orange-text: var(--theme_dark--select-text); + --theme_dark--select_yellow: rgba(255, 220, 73, 0.5); + --theme_dark--select_yellow-text: var(--theme_dark--select-text); + --theme_dark--select_green: rgba(77, 171, 154, 0.5); + --theme_dark--select_green-text: var(--theme_dark--select-text); + --theme_dark--select_blue: rgba(82, 156, 202, 0.5); + --theme_dark--select_blue-text: var(--theme_dark--select-text); + --theme_dark--select_purple: rgba(154, 109, 215, 0.5); + --theme_dark--select_purple-text: var(--theme_dark--select-text); + --theme_dark--select_pink: rgba(226, 85, 161, 0.5); + --theme_dark--select_pink-text: var(--theme_dark--select-text); + --theme_dark--select_red: rgba(255, 115, 105, 0.5); + --theme_dark--select_red-text: var(--theme_dark--select-text); + --theme_dark--callout-text: var(--theme_dark--text); --theme_dark--callout_gray: rgba(69, 75, 78, 0.3); --theme_dark--callout_gray-text: var(--theme_dark--callout-text); @@ -229,7 +229,7 @@ --theme_light--font_body-size_small: 14px; --theme_light--font_code-size: 0.796875em; --theme_light--font_sidebar-size: 14px; - + --theme_light--text-block_line-height: 1.5; --theme_light--text-block_margin-top: 1px; @@ -278,26 +278,6 @@ --theme_light--text_pink: rgb(173, 26, 114); --theme_light--text_red: rgb(224, 62, 62); - --theme_light--select-text: var(--theme_light--text); - --theme_light--select_gray: rgba(140, 46, 0, 0.2); - --theme_light--select_gray-text: var(--theme_light--select-text); - --theme_light--select_brown: rgba(140, 46, 0, 0.2); - --theme_light--select_brown-text: var(--theme_light--select-text); - --theme_light--select_orange: rgba(245, 93, 0, 0.2); - --theme_light--select_orange-text: var(--theme_light--select-text); - --theme_light--select_yellow: rgba(233, 168, 0, 0.2); - --theme_light--select_yellow-text: var(--theme_light--select-text); - --theme_light--select_green: rgba(0, 135, 107, 0.2); - --theme_light--select_green-text: var(--theme_light--select-text); - --theme_light--select_blue: rgba(0, 120, 223, 0.2); - --theme_light--select_blue-text: var(--theme_light--select-text); - --theme_light--select_purple: rgba(103, 36, 222, 0.2); - --theme_light--select_purple-text: var(--theme_light--select-text); - --theme_light--select_pink: rgba(221, 0, 129, 0.2); - --theme_light--select_pink-text: var(--theme_light--select-text); - --theme_light--select_red: rgba(255, 0, 26, 0.2); - --theme_light--select_red-text: var(--theme_light--select-text); - --theme_light--bg-text: var(--theme_light--text); --theme_light--bg_gray: rgb(235, 236, 237); --theme_light--bg_gray-text: var(--theme_light--bg-text); @@ -338,6 +318,26 @@ --theme_light--line_red: rgb(251, 228, 228); --theme_light--line_red-text: var(--theme_light--line-text); + --theme_light--select-text: var(--theme_light--text); + --theme_light--select_gray: rgba(140, 46, 0, 0.2); + --theme_light--select_gray-text: var(--theme_light--select-text); + --theme_light--select_brown: rgba(140, 46, 0, 0.2); + --theme_light--select_brown-text: var(--theme_light--select-text); + --theme_light--select_orange: rgba(245, 93, 0, 0.2); + --theme_light--select_orange-text: var(--theme_light--select-text); + --theme_light--select_yellow: rgba(233, 168, 0, 0.2); + --theme_light--select_yellow-text: var(--theme_light--select-text); + --theme_light--select_green: rgba(0, 135, 107, 0.2); + --theme_light--select_green-text: var(--theme_light--select-text); + --theme_light--select_blue: rgba(0, 120, 223, 0.2); + --theme_light--select_blue-text: var(--theme_light--select-text); + --theme_light--select_purple: rgba(103, 36, 222, 0.2); + --theme_light--select_purple-text: var(--theme_light--select-text); + --theme_light--select_pink: rgba(221, 0, 129, 0.2); + --theme_light--select_pink-text: var(--theme_light--select-text); + --theme_light--select_red: rgba(255, 0, 26, 0.2); + --theme_light--select_red-text: var(--theme_light--select-text); + --theme_light--callout-text: var(--theme_light--text); --theme_light--callout_gray: rgba(235, 236, 237, 0.3); --theme_light--callout_gray-text: var(--theme_light--callout-text); @@ -449,24 +449,6 @@ --theme--text_pink: var(--theme_dark--text_pink); --theme--text_red: var(--theme_dark--text_red); --theme--select-text: var(--theme_dark--select-text); - --theme--select_gray: var(--theme_dark--select_gray); - --theme--select_gray-text: var(--theme_dark--select_gray-text); - --theme--select_brown: var(--theme_dark--select_brown); - --theme--select_brown-text: var(--theme_dark--select_brown-text); - --theme--select_orange: var(--theme_dark--select_orange); - --theme--select_orange-text: var(--theme_dark--select_orange-text); - --theme--select_yellow: var(--theme_dark--select_yellow); - --theme--select_yellow-text: var(--theme_dark--select_yellow-text); - --theme--select_green: var(--theme_dark--select_green); - --theme--select_green-text: var(--theme_dark--select_green-text); - --theme--select_blue: var(--theme_dark--select_blue); - --theme--select_blue-text: var(--theme_dark--select_blue-text); - --theme--select_purple: var(--theme_dark--select_purple); - --theme--select_purple-text: var(--theme_dark--select_purple-text); - --theme--select_pink: var(--theme_dark--select_pink); - --theme--select_pink-text: var(--theme_dark--select_pink-text); - --theme--select_red: var(--theme_dark--select_red); - --theme--select_red-text: var(--theme_dark--select_red-text); --theme--bg-text: var(--theme_dark--bg-text); --theme--bg_gray: var(--theme_dark--bg_gray); --theme--bg_gray-text: var(--theme_dark--bg_gray-text); @@ -505,6 +487,24 @@ --theme--line_pink-text: var(--theme_dark--line_pink-text); --theme--line_red: var(--theme_dark--line_red); --theme--line_red-text: var(--theme_dark--line_red-text); + --theme--select_gray: var(--theme_dark--select_gray); + --theme--select_gray-text: var(--theme_dark--select_gray-text); + --theme--select_brown: var(--theme_dark--select_brown); + --theme--select_brown-text: var(--theme_dark--select_brown-text); + --theme--select_orange: var(--theme_dark--select_orange); + --theme--select_orange-text: var(--theme_dark--select_orange-text); + --theme--select_yellow: var(--theme_dark--select_yellow); + --theme--select_yellow-text: var(--theme_dark--select_yellow-text); + --theme--select_green: var(--theme_dark--select_green); + --theme--select_green-text: var(--theme_dark--select_green-text); + --theme--select_blue: var(--theme_dark--select_blue); + --theme--select_blue-text: var(--theme_dark--select_blue-text); + --theme--select_purple: var(--theme_dark--select_purple); + --theme--select_purple-text: var(--theme_dark--select_purple-text); + --theme--select_pink: var(--theme_dark--select_pink); + --theme--select_pink-text: var(--theme_dark--select_pink-text); + --theme--select_red: var(--theme_dark--select_red); + --theme--select_red-text: var(--theme_dark--select_red-text); --theme--callout-text: var(--theme_dark--callout-text); --theme--callout_gray: var(--theme_dark--callout_gray); --theme--callout_gray-text: var(--theme_dark--callout_gray-text); @@ -615,24 +615,6 @@ --theme--text_pink: var(--theme_light--text_pink); --theme--text_red: var(--theme_light--text_red); --theme--select-text: var(--theme_light--select-text); - --theme--select_gray: var(--theme_light--select_gray); - --theme--select_gray-text: var(--theme_light--select_gray-text); - --theme--select_brown: var(--theme_light--select_brown); - --theme--select_brown-text: var(--theme_light--select_brown-text); - --theme--select_orange: var(--theme_light--select_orange); - --theme--select_orange-text: var(--theme_light--select_orange-text); - --theme--select_yellow: var(--theme_light--select_yellow); - --theme--select_yellow-text: var(--theme_light--select_yellow-text); - --theme--select_green: var(--theme_light--select_green); - --theme--select_green-text: var(--theme_light--select_green-text); - --theme--select_blue: var(--theme_light--select_blue); - --theme--select_blue-text: var(--theme_light--select_blue-text); - --theme--select_purple: var(--theme_light--select_purple); - --theme--select_purple-text: var(--theme_light--select_purple-text); - --theme--select_pink: var(--theme_light--select_pink); - --theme--select_pink-text: var(--theme_light--select_pink-text); - --theme--select_red: var(--theme_light--select_red); - --theme--select_red-text: var(--theme_light--select_red-text); --theme--bg-text: var(--theme_light--bg-text); --theme--bg_gray: var(--theme_light--bg_gray); --theme--bg_gray-text: var(--theme_light--bg_gray-text); @@ -671,6 +653,24 @@ --theme--line_pink-text: var(--theme_light--line_pink-text); --theme--line_red: var(--theme_light--line_red); --theme--line_red-text: var(--theme_light--line_red-text); + --theme--select_gray: var(--theme_light--select_gray); + --theme--select_gray-text: var(--theme_light--select_gray-text); + --theme--select_brown: var(--theme_light--select_brown); + --theme--select_brown-text: var(--theme_light--select_brown-text); + --theme--select_orange: var(--theme_light--select_orange); + --theme--select_orange-text: var(--theme_light--select_orange-text); + --theme--select_yellow: var(--theme_light--select_yellow); + --theme--select_yellow-text: var(--theme_light--select_yellow-text); + --theme--select_green: var(--theme_light--select_green); + --theme--select_green-text: var(--theme_light--select_green-text); + --theme--select_blue: var(--theme_light--select_blue); + --theme--select_blue-text: var(--theme_light--select_blue-text); + --theme--select_purple: var(--theme_light--select_purple); + --theme--select_purple-text: var(--theme_light--select_purple-text); + --theme--select_pink: var(--theme_light--select_pink); + --theme--select_pink-text: var(--theme_light--select_pink-text); + --theme--select_red: var(--theme_light--select_red); + --theme--select_red-text: var(--theme_light--select_red-text); --theme--callout-text: var(--theme_light--callout-text); --theme--callout_gray: var(--theme_light--callout_gray); --theme--callout_gray-text: var(--theme_light--callout_gray-text); From 275c5ed4cd0047847849c8551e7c28e72a3bf09e Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Tue, 20 Oct 2020 11:59:22 +1100 Subject: [PATCH 2/6] update themes to new variables --- CHANGELOG.md | 3 +-- mods/core/tray.js | 4 +-- mods/dark+/mod.js | 2 +- mods/dark+/styles.css | 5 +++- mods/littilepig-dark/mod.js | 2 +- mods/littilepig-dark/styles.css | 8 +++--- mods/material-ocean/styles.css | 45 ++++++++++++++++++--------------- mods/neutral/styles.css | 40 +++++++++++++++-------------- mods/pastel-dark/mod.js | 2 +- mods/pastel-dark/styles.css | 44 +++++++++++++++++--------------- 10 files changed, 81 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc95e57..82929b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ a flexibility update. - bugfix: primary-colour text (mainly in "add a \_" popups) is now properly themed. - bugfix: right-to-left extension applies to text in columns. - bugfix: block text colour applies to text with backgrounds. +- bugfix: font applied to wrong mode with littlepig dark. - tweak: sticky table/list rows. - theme: "material ocean" = an oceanic colour palette. - theme: "dracula" = a theme based on the popular dracula color palette @@ -53,11 +54,9 @@ a fork of notion-deb-builder that does generate an app.asar has been created and // todo - new: menu shows theme conflicts. -- improved: default option for showing/hiding page properties. - bugfix: night shift working on macOS. - bugfix: windows are properly hidden/shown on macOS. - extension: "tweaks" = common layout changes. -- update themes to new variables. ### v0.9.1 (2020-09-26) diff --git a/mods/core/tray.js b/mods/core/tray.js index 59e292a..9e832a1 100644 --- a/mods/core/tray.js +++ b/mods/core/tray.js @@ -32,9 +32,7 @@ module.exports = (store, __exports) => { // menu - electron.ipcMain.on('enhancer:open-menu', (event, arg) => { - openEnhancerMenu(); - }); + electron.ipcMain.on('enhancer:open-menu', openEnhancerMenu); electron.ipcMain.on('enhancer:set-menu-theme', (event, arg) => { if (!enhancer_menu) return; enhancer_menu.webContents.send('enhancer:set-menu-theme', arg); diff --git a/mods/dark+/mod.js b/mods/dark+/mod.js index 3fbd819..981a1c7 100644 --- a/mods/dark+/mod.js +++ b/mods/dark+/mod.js @@ -11,7 +11,7 @@ module.exports = { tags: ['theme', 'dark'], name: 'dark+', desc: 'a vivid-colour near-black theme.', - version: '0.1.5', + version: '0.1.6', author: 'dragonwocky', options: [ { diff --git a/mods/dark+/styles.css b/mods/dark+/styles.css index 5308330..4ed9764 100644 --- a/mods/dark+/styles.css +++ b/mods/dark+/styles.css @@ -8,14 +8,17 @@ --theme_dark--main: rgb(5, 5, 5); --theme_dark--sidebar: rgb(1, 1, 1); --theme_dark--dragarea: #000; + --theme_dark--box-shadow_strong: none; --theme_dark--scrollbar: #23242599; --theme_dark--scrollbar-border: transparent; --theme_dark--scrollbar_hover: #37383899; - --theme_dark--card: #101010; + --theme_dark--card: rgb(8, 8, 8); --theme_dark--gallery: rgba(26, 26, 26, 0.3); + --theme_dark--select_input: rgb(12, 12, 12); --theme_dark--table-border: rgba(46, 46, 46, 0.7); + --theme_dark--ui-border: var(--theme_dark--table-border); --theme_dark--interactive_hover: #020202; --theme_dark--option_hover-background: rgb(32, 32, 32); diff --git a/mods/littilepig-dark/mod.js b/mods/littilepig-dark/mod.js index a655447..469127c 100644 --- a/mods/littilepig-dark/mod.js +++ b/mods/littilepig-dark/mod.js @@ -12,7 +12,7 @@ module.exports = { tags: ['theme', 'dark'], name: 'littlepig dark', desc: 'a purple monospaced theme using emojis and colourful text.', - version: '0.1.1', + version: '0.1.2', author: { name: 'Lizishan', link: 'https://www.reddit.com/user/Lizishan/', diff --git a/mods/littilepig-dark/styles.css b/mods/littilepig-dark/styles.css index af8c8a1..cf06d90 100644 --- a/mods/littilepig-dark/styles.css +++ b/mods/littilepig-dark/styles.css @@ -10,10 +10,10 @@ --theme_dark--sidebar: #24222c; --theme_dark--dragarea: #19181f; - --theme_light--font_sans: 'JetBrains Mono'; - --theme_light--font_serif: 'JetBrains Mono'; - --theme_light--font_mono: 'JetBrains Mono'; - --theme_light--font_code: 'JetBrains Mono'; + --theme_dark--font_sans: 'JetBrains Mono'; + --theme_dark--font_serif: 'JetBrains Mono'; + --theme_dark--font_mono: 'JetBrains Mono'; + --theme_dark--font_code: 'JetBrains Mono'; --theme_dark--scrollbar: #221f29; --theme_dark--scrollbar_hover: #312d3c; diff --git a/mods/material-ocean/styles.css b/mods/material-ocean/styles.css index cb6bc4f..e00d769 100644 --- a/mods/material-ocean/styles.css +++ b/mods/material-ocean/styles.css @@ -7,6 +7,7 @@ :root { --ocean-main: #0f111a; --ocean-sec: #00010a; + --ocean-tet: #000108; --ocean-accent: #ff4151; --ocean-gray: #e0e0e0; --ocean-brown: #d8b6a6; @@ -28,8 +29,10 @@ --theme_dark--card: var(--ocean-sec); --theme_dark--gallery: var(--ocean-sec); + --theme_dark--select_input: var(--ocean-tet); --theme_dark--table-border: rgba(255, 255, 255, 0.1); - --theme_dark--interactive_hover: var(--ocean-main); + --theme_dark--ui-border: var(--theme_dark--table-border); + --theme_dark--interactive_hover: var(--ocean-tet); --theme_dark--button_close: var(--ocean-accent); --theme_dark--selected: rgba(255, 65, 81, 0.2); @@ -58,16 +61,16 @@ --theme_dark--text_pink: var(--ocean-pink); --theme_dark--text_red: var(--ocean-red); - --theme_dark--select-text: var(--ocean-main); - --theme_dark--select_gray: var(--ocean-gray); - --theme_dark--select_brown: var(--ocean-brown); - --theme_dark--select_orange: var(--ocean-orange); - --theme_dark--select_yellow: var(--ocean-yellow); - --theme_dark--select_green: var(--ocean-green); - --theme_dark--select_blue: var(--ocean-blue); - --theme_dark--select_purple: var(--ocean-purple); - --theme_dark--select_pink: var(--ocean-pink); - --theme_dark--select_red: var(--ocean-red); + --theme_dark--bg-text: var(--ocean-main); + --theme_dark--bg_gray: var(--ocean-gray); + --theme_dark--bg_brown: var(--ocean-brown); + --theme_dark--bg_orange: var(--ocean-orange); + --theme_dark--bg_yellow: var(--ocean-yellow); + --theme_dark--bg_green: var(--ocean-green); + --theme_dark--bg_blue: var(--ocean-blue); + --theme_dark--bg_purple: var(--ocean-purple); + --theme_dark--bg_pink: var(--ocean-pink); + --theme_dark--bg_red: var(--ocean-red); --theme_dark--line-text: var(--ocean-main); --theme_dark--line_gray: #e0e0e089; @@ -80,16 +83,16 @@ --theme_dark--line_pink: #ffc0cbb1; --theme_dark--line_red: #bf616a9e; - --theme_dark--bg-text: var(--theme_dark--select-text); - --theme_dark--bg_gray: var(--theme_dark--select_gray); - --theme_dark--bg_brown: var(--theme_dark--select_brown); - --theme_dark--bg_orange: var(--theme_dark--select_orange); - --theme_dark--bg_yellow: var(--theme_dark--select_yellow); - --theme_dark--bg_green: var(--theme_dark--select_green); - --theme_dark--bg_blue: var(--theme_dark--select_blue); - --theme_dark--bg_purple: var(--theme_dark--select_purple); - --theme_dark--bg_pink: var(--theme_dark--select_pink); - --theme_dark--bg_red: var(--theme_dark--select_red); + --theme_dark--select-text: var(--theme_dark--bg-text); + --theme_dark--select_gray: var(--theme_dark--bg_gray); + --theme_dark--select_brown: var(--theme_dark--bg_brown); + --theme_dark--select_orange: var(--theme_dark--bg_orange); + --theme_dark--select_yellow: var(--theme_dark--bg_yellow); + --theme_dark--select_green: var(--theme_dark--bg_green); + --theme_dark--select_blue: var(--theme_dark--bg_blue); + --theme_dark--select_purple: var(--theme_dark--bg_purple); + --theme_dark--select_pink: var(--theme_dark--bg_pink); + --theme_dark--select_red: var(--theme_dark--bg_red); --theme_dark--callout-text: var(--theme_dark--line-text); --theme_dark--callout_gray: var(--theme_dark--line_gray); diff --git a/mods/neutral/styles.css b/mods/neutral/styles.css index 5f6c242..dff7185 100644 --- a/mods/neutral/styles.css +++ b/mods/neutral/styles.css @@ -38,7 +38,9 @@ --theme_dark--card: #171717; --theme_dark--gallery: rgba(105, 105, 105, 0.05); + --theme_dark--select_input: #1d1d1d; --theme_dark--table-border: rgba(78, 78, 78, 0.7); + --theme_dark--ui-border: var(--theme_dark--table-border); --theme_dark--interactive_hover: rgb(29, 29, 29); --theme_dark--selected: #52525244; @@ -66,25 +68,15 @@ --theme_dark--text_pink: #d285aa; --theme_dark--text_red: #ce535f; - --theme_dark--select_gray: #585858; - --theme_dark--select_brown: #333333; - --theme_dark--select_orange: #9a5a3f; - --theme_dark--select_yellow: #b58a46; - --theme_dark--select_green: #657953; - --theme_dark--select_blue: #355475; - --theme_dark--select_purple: #775186; - --theme_dark--select_pink: #8e4b63; - --theme_dark--select_red: #8c3d3d; - - --theme_dark--bg_gray: var(--theme_dark--select_gray); - --theme_dark--bg_brown: var(--theme_dark--select_brown); - --theme_dark--bg_orange: var(--theme_dark--select_orange); - --theme_dark--bg_yellow: var(--theme_dark--select_yellow); - --theme_dark--bg_green: var(--theme_dark--select_green); - --theme_dark--bg_blue: var(--theme_dark--select_blue); - --theme_dark--bg_purple: var(--theme_dark--select_purple); - --theme_dark--bg_pink: var(--theme_dark--select_pink); - --theme_dark--bg_red: var(--theme_dark--select_red); + --theme_dark--bg_gray: #585858; + --theme_dark--bg_brown: #333333; + --theme_dark--bg_orange: #9a5a3f; + --theme_dark--bg_yellow: #b58a46; + --theme_dark--bg_green: #657953; + --theme_dark--bg_blue: #355475; + --theme_dark--bg_purple: #775186; + --theme_dark--bg_pink: #8e4b63; + --theme_dark--bg_red: #8c3d3d; --theme_dark--line_gray: #585858; --theme_dark--line_brown: #333333; @@ -96,6 +88,16 @@ --theme_dark--line_pink: #8e4b63; --theme_dark--line_red: #8c3d3d; + --theme_dark--select_gray: var(--theme_dark--bg_gray); + --theme_dark--select_brown: var(--theme_dark--bg_brown); + --theme_dark--select_orange: var(--theme_dark--bg_orange); + --theme_dark--select_yellow: var(--theme_dark--bg_yellow); + --theme_dark--select_green: var(--theme_dark--bg_green); + --theme_dark--select_blue: var(--theme_dark--bg_blue); + --theme_dark--select_purple: var(--theme_dark--bg_purple); + --theme_dark--select_pink: var(--theme_dark--bg_pink); + --theme_dark--select_red: var(--theme_dark--bg_red); + --theme_dark--callout_gray: rgba(88, 88, 88, 0.175); --theme_dark--callout_brown: rgb(51, 51, 51, 0.175); --theme_dark--callout_orange: rgb(154, 90, 63, 0.175); diff --git a/mods/pastel-dark/mod.js b/mods/pastel-dark/mod.js index c5a5f14..71d4319 100644 --- a/mods/pastel-dark/mod.js +++ b/mods/pastel-dark/mod.js @@ -12,7 +12,7 @@ module.exports = { tags: ['theme', 'dark'], name: 'pastel dark', desc: 'a smooth-transition true dark theme with a hint of pastel.', - version: '0.1.3', + version: '0.1.4', author: { name: 'zenith_illinois', link: 'https://www.reddit.com/user/zenith_illinois/', diff --git a/mods/pastel-dark/styles.css b/mods/pastel-dark/styles.css index 0137242..1587b7d 100644 --- a/mods/pastel-dark/styles.css +++ b/mods/pastel-dark/styles.css @@ -20,7 +20,9 @@ --theme_dark--card: #0f0f0f; --theme_dark--gallery: rgba(8, 8, 8, 0.05); + --theme_dark--select_input: #0d0d0d; --theme_dark--table-border: rgba(255, 255, 255, 0.1); + --theme_dark--ui-border: var(--theme_dark--table-border); --theme_dark--interactive_hover: #1e1e1e5c; --theme_dark--button_close: #eb5757; @@ -50,27 +52,16 @@ --theme_dark--text_pink: #f7b8dc; --theme_dark--text_red: #f8acb4; - --theme_dark--select-text: rgb(55, 53, 47); - --theme_dark--select_gray: #b1aeab; - --theme_dark--select_brown: #d8b6a6; - --theme_dark--select_orange: #fde3c0; - --theme_dark--select_yellow: #fcde93; - --theme_dark--select_green: #b3f5c8; - --theme_dark--select_blue: #bfe0fd; - --theme_dark--select_purple: #dac7fa; - --theme_dark--select_pink: #f7b8dc; - --theme_dark--select_red: #f8acb4; - - --theme_dark--bg-text: var(--theme_dark--select-text); - --theme_dark--bg_gray: var(--theme_dark--select_gray); - --theme_dark--bg_brown: var(--theme_dark--select_brown); - --theme_dark--bg_orange: var(--theme_dark--select_orange); - --theme_dark--bg_yellow: var(--theme_dark--select_yellow); - --theme_dark--bg_green: var(--theme_dark--select_green); - --theme_dark--bg_blue: var(--theme_dark--select_blue); - --theme_dark--bg_purple: var(--theme_dark--select_purple); - --theme_dark--bg_pink: var(--theme_dark--select_pink); - --theme_dark--bg_red: var(--theme_dark--select_red); + --theme_dark--bg-text: rgb(55, 53, 47); + --theme_dark--bg_gray: #b1aeab; + --theme_dark--bg_brown: #d8b6a6; + --theme_dark--bg_orange: #fde3c0; + --theme_dark--bg_yellow: #fcde93; + --theme_dark--bg_green: #b3f5c8; + --theme_dark--bg_blue: #bfe0fd; + --theme_dark--bg_purple: #dac7fa; + --theme_dark--bg_pink: #f7b8dc; + --theme_dark--bg_red: #f8acb4; --theme_dark--line-text: rgb(34, 34, 34); --theme_dark--line_gray: #c2c1c089; @@ -83,6 +74,17 @@ --theme_dark--line_pink: #fdcce8b1; --theme_dark--line_red: #ffc8ce9e; + --theme_dark--select-text: var(--theme_dark--bg-text); + --theme_dark--select_gray: var(--theme_dark--bg_gray); + --theme_dark--select_brown: var(--theme_dark--bg_brown); + --theme_dark--select_orange: var(--theme_dark--bg_orange); + --theme_dark--select_yellow: var(--theme_dark--bg_yellow); + --theme_dark--select_green: var(--theme_dark--bg_green); + --theme_dark--select_blue: var(--theme_dark--bg_blue); + --theme_dark--select_purple: var(--theme_dark--bg_purple); + --theme_dark--select_pink: var(--theme_dark--bg_pink); + --theme_dark--select_red: var(--theme_dark--bg_red); + --theme_dark--callout-text: var(--theme_dark--line-text); --theme_dark--callout_gray: var(--theme_dark--line_gray); --theme_dark--callout_brown: var(--theme_dark--line_brown); From cdbce12b111b5d1f59ae08fe75a7d97c352fdfbf Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Wed, 21 Oct 2020 22:30:58 +1100 Subject: [PATCH 3/6] theme conflicts notice in menu --- CHANGELOG.md | 5 +- mods/calendar-scroll/mod.js | 2 +- mods/calendar-scroll/styles.css | 1 + mods/core/css/menu.css | 10 ++- mods/core/enhancerMenu.js | 130 +++++++++++++++++++++++++------- mods/core/render.js | 16 +++- 6 files changed, 129 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82929b6..0a6e9ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ a flexibility update. normal "most recent" page). - new: css variables for increasing line spacing/paragraph margins. - new: patch the notion:// url scheme/protocol to work on linux. +- new: menu shows theme conflicts. - improved: menu will now respect integrated titlebar setting. - improved: use keyup listeners instead of a globalShortcut for the enhancements menu toggle. - bugfix: removed messenger emoji set as the provider no longer supports it. @@ -53,10 +54,12 @@ a fork of notion-deb-builder that does generate an app.asar has been created and // todo -- new: menu shows theme conflicts. +- new: a core mod option to auto-resolve theme conflicts. - bugfix: night shift working on macOS. - bugfix: windows are properly hidden/shown on macOS. - extension: "tweaks" = common layout changes. +- new: a `-n` cli option. +- improved: overwrite `app.asar.bak` if already exists. ### v0.9.1 (2020-09-26) diff --git a/mods/calendar-scroll/mod.js b/mods/calendar-scroll/mod.js index 0d2f2ff..13dcd89 100644 --- a/mods/calendar-scroll/mod.js +++ b/mods/calendar-scroll/mod.js @@ -14,7 +14,7 @@ module.exports = { name: 'calendar scroll', desc: 'add a button to scroll down to the current week in fullpage/infinite-scroll calendars.', - version: '0.1.0', + version: '0.1.1', author: 'dragonwocky', hacks: { 'renderer/preload.js'(store, __exports) { diff --git a/mods/calendar-scroll/styles.css b/mods/calendar-scroll/styles.css index ed41f12..9f6dfd7 100644 --- a/mods/calendar-scroll/styles.css +++ b/mods/calendar-scroll/styles.css @@ -13,6 +13,7 @@ border-radius: 3px; line-height: 1.2; padding: 0 0.5em; + margin-right: 5px; } #calendar-scroll-to-week:hover { background: transparent; diff --git a/mods/core/css/menu.css b/mods/core/css/menu.css index 1f36cf7..4e05425 100644 --- a/mods/core/css/menu.css +++ b/mods/core/css/menu.css @@ -181,7 +181,7 @@ s { text-decoration: underline; } -[data-relaunch] { +[data-action] { text-decoration: underline dotted; cursor: pointer; } @@ -621,12 +621,16 @@ s { } .reorder #search #tags > span, -.reorder #search #tags > span:hover { +.reorder #search #tags > span:hover, +.conflict #search #tags > span, +.conflict #search #tags > span:hover { opacity: 0.7; background: var(--theme--option-background); } .reorder #search #tags > .selected, -.reorder #search #tags > .selected:hover { +.reorder #search #tags > .selected:hover, +.conflict #search #tags > .selected, +.conflict #search #tags > .selected:hover { background: var(--tag_color, var(--theme--option_active-background)); } diff --git a/mods/core/enhancerMenu.js b/mods/core/enhancerMenu.js index cdea17f..37e8642 100644 --- a/mods/core/enhancerMenu.js +++ b/mods/core/enhancerMenu.js @@ -185,7 +185,78 @@ window['__start'] = async () => { }) ); - // search + const conflicts = { + relaunch: null, + detected: () => + store('mods', { + conflicts: { dark: false, light: false }, + }).conflicts, + alerts: [], + check() { + document.body.classList.remove('conflict'); + conflicts.alerts.forEach((alert) => alert.resolve()); + conflicts.alerts = []; + const enabled = modules.loaded.filter( + (mod) => + store('mods', { [mod.id]: { enabled: false } })[mod.id].enabled && + mod.tags.includes('theme') + ), + dark = enabled.filter((mod) => mod.tags.includes('dark')), + light = enabled.filter((mod) => mod.tags.includes('light')); + for (let mode of [ + [dark, 'dark'], + [light, 'light'], + ]) { + const conflictID = mode[0] + .map((mod) => mod.id) + .sort() + .join('||'); + if ( + conflicts.detected()[mode[1]] && + conflicts.detected()[mode[1]][0] === conflictID && + conflicts.detected()[mode[1]][1] + ) + continue; + if (mode[0].length > 1) { + document.body.classList.add('conflict'); + conflicts.detected()[mode[1]] = [conflictID, false]; + const alert = createAlert( + 'error', + `conflicting ${mode[1]} themes: ${mode[0] + .map((mod) => `${mod.name}`) + .join( + ', ' + )}.
resolve or dismiss to continue.` + ); + alert.el + .querySelector('[data-action="dismiss"]') + .addEventListener('click', (event) => { + conflicts.detected()[mode[1]] = [conflictID, true]; + conflicts.check(); + }); + alert.append(); + conflicts.alerts.push(alert); + } else conflicts.detected()[mode[1]] = false; + } + search(); + }, + }; + function modified() { + conflicts.check(); + if (conflicts.relaunch) return; + conflicts.relaunch = createAlert( + 'info', + 'changes may not fully apply until app relaunch.' + ); + conflicts.relaunch.el + .querySelector('[data-action="relaunch"]') + .addEventListener('click', (event) => { + electron.remote.app.relaunch(); + electron.remote.app.quit(); + }); + conflicts.relaunch.append(); + } + const search_filters = { enabled: true, disabled: true, @@ -209,17 +280,30 @@ window['__start'] = async () => { } function search() { modules.loaded.forEach((mod) => { - const $search_input = document.querySelector('#search > input'); + const $search_input = document.querySelector('#search > input'), + conflictingIDs = [conflicts.detected().dark, conflicts.detected().light] + .filter((conflict) => conflict && !conflict[1]) + .map(([mods, dismissed]) => mods.split('||')) + .flat(); + if ( + conflictingIDs.length || + document.body.classList.contains('reorder') + ) { + $search_input.disabled = true; + } else $search_input.disabled = false; if ( !document.body.classList.contains('reorder') && - ((mod.elem.classList.contains('enabled') && !search_filters.enabled) || - (mod.elem.classList.contains('disabled') && - !search_filters.disabled) || - !mod.tags.some((tag) => search_filters.tags.has(tag)) || - ($search_input.value && - !innerText(mod.elem) - .toLowerCase() - .includes($search_input.value.toLowerCase().trim()))) + (conflictingIDs.length + ? !conflictingIDs.some((id) => id.includes(mod.id)) + : (mod.elem.classList.contains('enabled') && + !search_filters.enabled) || + (mod.elem.classList.contains('disabled') && + !search_filters.disabled) || + !mod.tags.some((tag) => search_filters.tags.has(tag)) || + ($search_input.value && + !innerText(mod.elem) + .toLowerCase() + .includes($search_input.value.toLowerCase().trim()))) ) return (mod.elem.style.display = 'none'); mod.elem.style.display = 'block'; @@ -239,7 +323,10 @@ window['__start'] = async () => { ); document.querySelector('#tags').append(el); el.addEventListener('click', (event) => { - if (!document.body.classList.contains('reorder')) { + if ( + !document.body.classList.contains('reorder') && + !document.body.classList.contains('conflict') + ) { el.className = el.className === 'selected' ? '' : 'selected'; onclick(el.className === 'selected'); } @@ -299,22 +386,6 @@ window['__start'] = async () => { return parsed; } - let $modified_notice; - function modified() { - if ($modified_notice) return; - $modified_notice = createAlert( - 'info', - `changes may not fully apply until app relaunch.` - ); - $modified_notice.el - .querySelector('[data-relaunch]') - .addEventListener('click', (event) => { - electron.remote.app.relaunch(); - electron.remote.app.quit(); - }); - $modified_notice.append(); - } - const file_icon = await fs.readFile( path.resolve(`${__dirname}/icons/file.svg`) ); @@ -406,11 +477,11 @@ window['__start'] = async () => { const $modules = document.querySelector('#modules'); for (let mod of modules.loaded) { - for (let fonts of mod.fonts || []) { + for (let font of mod.fonts || []) { document .querySelector('head') .appendChild( - helpers.createElement(``) + helpers.createElement(``) ); } @@ -519,6 +590,7 @@ window['__start'] = async () => { .forEach((checkbox) => checkbox.addEventListener('click', (event) => event.target.blur()) ); + conflicts.check(); // draggable re-ordering const draggable = { diff --git a/mods/core/render.js b/mods/core/render.js index c2e731e..30bdc25 100644 --- a/mods/core/render.js +++ b/mods/core/render.js @@ -9,7 +9,11 @@ const url = require('url'), path = require('path'), electron = require('electron'), - { __notion } = require('../../pkg/helpers.js'), + { + __notion, + getEnhancements, + createElement, + } = require('../../pkg/helpers.js'), config = require(`${__notion}/app/config.js`), constants = require(`${__notion}/app/shared/constants.js`), notion_intl = require(`${__notion}/app/shared/notion-intl/index.js`), @@ -968,6 +972,16 @@ module.exports = (store, __exports) => { window['__start'] = () => { document.head.innerHTML += ``; + const modules = getEnhancements(); + for (let mod of modules.loaded) { + for (let font of mod.fonts || []) { + document + .querySelector('head') + .appendChild( + createElement(``) + ); + } + } // open menu on hotkey toggle document.addEventListener('keyup', (event) => { From fb63601ebf5a0272edbd9657941de7372c8bd7e0 Mon Sep 17 00:00:00 2001 From: Ryo Hilmawan <54142180+CloudHill@users.noreply.github.com> Date: Wed, 21 Oct 2020 18:32:10 +0700 Subject: [PATCH 4/6] new mod: scroll-to-top (#172) * Basic Functionality * Added smooth scrolling option * Added scroll down distance option * Button hide/show animation * Add percentage distance option * Calculate percentage every update (as opposed to every page change) * Calculate percentage height based on scroller and content height * Licensing and Conventions * Hide button on initialization if top distance is set * Fixed bug with button visibility when opening pages --- mods/scroll-to-top/mod.js | 123 +++++++++++++++++++++++++++++++++++ mods/scroll-to-top/style.css | 54 +++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 mods/scroll-to-top/mod.js create mode 100644 mods/scroll-to-top/style.css diff --git a/mods/scroll-to-top/mod.js b/mods/scroll-to-top/mod.js new file mode 100644 index 0000000..afb1fd6 --- /dev/null +++ b/mods/scroll-to-top/mod.js @@ -0,0 +1,123 @@ +/* + * scroll-to-top + * (c) 2020 dragonwocky (https://dragonwocky.me/) + * (c) 2020 CloudHill + * under the MIT license + */ + +"use strict"; + +const { createElement } = require("../../pkg/helpers.js"); + +module.exports = { + id: "0a958f5a-17c5-48b5-8713-16190cae1959", + tags: ["extension"], + name: "scroll-to-top", + desc: "add a scroll to top button.", + version: "1.0.0", + author: "CloudHill", + options: [ + { + key: "smooth", + label: "smooth scrolling", + type: "toggle", + value: true, + }, + { + key: "top", + label: "scroll down distance to show button", + type: "input", + value: 80, + }, + { + key: "percent", + label: "set distance as a percentage", + type: "toggle", + value: true, + }, + ], + hacks: { + "renderer/preload.js"(store, __exports) { + document.addEventListener("readystatechange", (event) => { + if (document.readyState !== "complete") return false; + const attempt_interval = setInterval(enhance, 500); + function enhance() { + if (!document.querySelector(".notion-frame")) return; + clearInterval(attempt_interval); + + const $container = document.createElement('div'); + const $help = document.querySelector('.notion-help-button'); + const $scroll = createElement( + '
🠙
' // 🠙; + ) + + $container.className = "bottom-right-buttons"; + $help.after($container); + $container.append($scroll); + $container.append($help); + + if (store().top > 0) + $scroll.classList.add('hidden'); + + $scroll.addEventListener('click', () => { + document + .querySelector('.notion-frame > .notion-scroller') + .scroll({ + top: 0, + left: 0, + behavior: store().smooth ? 'smooth' : 'auto', + }); + }) + + let queue = []; + let $scroller = document.querySelector('.notion-frame > .notion-scroller'); + let top = store().top || 0; + + const observer = new MutationObserver((list, observer) => { + if (!queue.length) requestAnimationFrame(() => process(queue)); + queue.push(...list); + }); + observer.observe(document.body, { + childList: true, + subtree: true, + }); + + function process(list) { + queue = []; + setScrollDistance(); + + for (let { addedNodes } of list) { + if ( + addedNodes[0] && ( + addedNodes[0].className === 'notion-page-content' || + addedNodes[0].className === 'notion-scroller' + ) && (top > 0) + ) { + $scroll.classList.add('hidden'); + + $scroller = document.querySelector('.notion-frame > .notion-scroller'); + setScrollDistance(); + + $scroller.addEventListener('scroll', (event) => { + if (Math.ceil(event.target.scrollTop) < $scroller.top_distance) + $scroll.classList.add('hidden'); + else + $scroll.classList.remove('hidden'); + }); + } + } + } + + function setScrollDistance() { + $scroller.top_distance = top; + if (top > 0 && store().percent) { + let content_height = Array.from($scroller.children) + .reduce((h, c) => h + c.offsetHeight, 0); + $scroller.top_distance *= (content_height - $scroller.offsetHeight) / 100; + } + } + } + }); + } + }, +}; diff --git a/mods/scroll-to-top/style.css b/mods/scroll-to-top/style.css new file mode 100644 index 0000000..84e3fb1 --- /dev/null +++ b/mods/scroll-to-top/style.css @@ -0,0 +1,54 @@ +/* + * scroll-to-top + * (c) 2020 dragonwocky (https://dragonwocky.me/) + * (c) 2020 CloudHill + * under the MIT license + */ + +.bottom-right-buttons { + position: absolute; + bottom: 33px; + right: 33px; + z-index: 101; + cursor: default; + pointer-events: none; +} + +.bottom-right-buttons > div { + margin-top: 8px; + pointer-events: auto; + + user-select: none; + transition: opacity 700ms ease 0s, color 700ms ease 0s, transform 700ms ease 0s; + cursor: pointer; + + position: static !important; + + width: 36px; + height: 36px; + + display: flex; + align-items: center; + justify-content: center; + + border-radius: 100%; + font-size: 20px; + + background: var(--theme--interactive_hover); + box-shadow: 0 0 0 0.5px var(--theme--interactive_hover-border); +} + +.notion-scroll-button { + display: flex !important; +} + +.notion-scroll-button.hidden { + pointer-events: none; + + visibility: hidden; + opacity: 0; + transform: translateY(10px); + + transition-property: opacity, transform, visibility; + transition-delay: 0, 0, 700ms +} \ No newline at end of file From 7885b2c20468a6ffb8580a47fb6d9997d2b21157 Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Thu, 22 Oct 2020 08:54:06 +1100 Subject: [PATCH 5/6] clarity improvements for scroll to top extension --- CHANGELOG.md | 1 + mods/scroll-to-top/mod.js | 228 +++++++++++++++++----------------- mods/scroll-to-top/style.css | 54 -------- mods/scroll-to-top/styles.css | 55 ++++++++ 4 files changed, 173 insertions(+), 165 deletions(-) delete mode 100644 mods/scroll-to-top/style.css create mode 100644 mods/scroll-to-top/styles.css diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a6e9ab..af3441a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ a flexibility update. - theme: "dracula" = a theme based on the popular dracula color palette originally by zeno rocha and friends. - extension: "tabs" = have multiple notion pages open in a single window. +- extension: "scroll to top" = add an arrow above the help button to scroll back to the top of a page. a fork of notion-deb-builder that does generate an app.asar has been created and is once again supported. diff --git a/mods/scroll-to-top/mod.js b/mods/scroll-to-top/mod.js index afb1fd6..11c9316 100644 --- a/mods/scroll-to-top/mod.js +++ b/mods/scroll-to-top/mod.js @@ -5,119 +5,125 @@ * under the MIT license */ -"use strict"; +'use strict'; -const { createElement } = require("../../pkg/helpers.js"); +const { createElement } = require('../../pkg/helpers.js'); module.exports = { - id: "0a958f5a-17c5-48b5-8713-16190cae1959", - tags: ["extension"], - name: "scroll-to-top", - desc: "add a scroll to top button.", - version: "1.0.0", - author: "CloudHill", - options: [ - { - key: "smooth", - label: "smooth scrolling", - type: "toggle", - value: true, - }, - { - key: "top", - label: "scroll down distance to show button", - type: "input", - value: 80, - }, - { - key: "percent", - label: "set distance as a percentage", - type: "toggle", - value: true, - }, - ], - hacks: { - "renderer/preload.js"(store, __exports) { - document.addEventListener("readystatechange", (event) => { - if (document.readyState !== "complete") return false; - const attempt_interval = setInterval(enhance, 500); - function enhance() { - if (!document.querySelector(".notion-frame")) return; - clearInterval(attempt_interval); - - const $container = document.createElement('div'); - const $help = document.querySelector('.notion-help-button'); - const $scroll = createElement( - '
🠙
' // 🠙; - ) - - $container.className = "bottom-right-buttons"; - $help.after($container); - $container.append($scroll); - $container.append($help); - - if (store().top > 0) - $scroll.classList.add('hidden'); - - $scroll.addEventListener('click', () => { - document - .querySelector('.notion-frame > .notion-scroller') - .scroll({ - top: 0, - left: 0, - behavior: store().smooth ? 'smooth' : 'auto', - }); - }) - - let queue = []; - let $scroller = document.querySelector('.notion-frame > .notion-scroller'); - let top = store().top || 0; - - const observer = new MutationObserver((list, observer) => { - if (!queue.length) requestAnimationFrame(() => process(queue)); - queue.push(...list); - }); - observer.observe(document.body, { - childList: true, - subtree: true, - }); - - function process(list) { - queue = []; - setScrollDistance(); - - for (let { addedNodes } of list) { - if ( - addedNodes[0] && ( - addedNodes[0].className === 'notion-page-content' || - addedNodes[0].className === 'notion-scroller' - ) && (top > 0) - ) { - $scroll.classList.add('hidden'); - - $scroller = document.querySelector('.notion-frame > .notion-scroller'); - setScrollDistance(); - - $scroller.addEventListener('scroll', (event) => { - if (Math.ceil(event.target.scrollTop) < $scroller.top_distance) - $scroll.classList.add('hidden'); - else - $scroll.classList.remove('hidden'); - }); - } - } - } - - function setScrollDistance() { - $scroller.top_distance = top; - if (top > 0 && store().percent) { - let content_height = Array.from($scroller.children) - .reduce((h, c) => h + c.offsetHeight, 0); - $scroller.top_distance *= (content_height - $scroller.offsetHeight) / 100; - } - } - } - }); - } + id: '0a958f5a-17c5-48b5-8713-16190cae1959', + tags: ['extension'], + name: 'scroll to top', + desc: + 'add an arrow above the help button to scroll back to the top of a page.', + version: '1.0.0', + author: 'CloudHill', + options: [ + { + key: 'smooth', + label: 'smooth scrolling', + type: 'toggle', + value: true, }, + { + key: 'top', + label: 'distance scrolled until button is shown:', + type: 'input', + value: 50, + }, + { + key: 'unit', + label: 'unit to measure distance with:', + type: 'select', + value: ['percent', 'pixels'], + }, + ], + hacks: { + 'renderer/preload.js'(store, __exports) { + document.addEventListener('readystatechange', (event) => { + if (document.readyState !== 'complete') return false; + const attempt_interval = setInterval(enhance, 500); + function enhance() { + if (!document.querySelector('.notion-frame')) return; + clearInterval(attempt_interval); + + const $container = document.createElement('div'); + const $help = document.querySelector('.notion-help-button'); + const $scroll = createElement( + '
🠙
' // 🠙; + ); + + $container.className = 'bottom-right-buttons'; + $help.after($container); + $container.append($scroll); + $container.append($help); + + if (store().top > 0) $scroll.classList.add('hidden'); + + $scroll.addEventListener('click', () => { + document.querySelector('.notion-frame > .notion-scroller').scroll({ + top: 0, + left: 0, + behavior: store().smooth ? 'smooth' : 'auto', + }); + }); + + let queue = []; + let $scroller = document.querySelector( + '.notion-frame > .notion-scroller' + ); + let top = store().top || 0; + + const observer = new MutationObserver((list, observer) => { + if (!queue.length) requestAnimationFrame(() => process(queue)); + queue.push(...list); + }); + observer.observe(document.body, { + childList: true, + subtree: true, + }); + + function process(list) { + queue = []; + setScrollDistance(); + + for (let { addedNodes } of list) { + if ( + addedNodes[0] && + (addedNodes[0].className === 'notion-page-content' || + addedNodes[0].className === 'notion-scroller') && + top > 0 + ) { + $scroll.classList.add('hidden'); + + $scroller = document.querySelector( + '.notion-frame > .notion-scroller' + ); + setScrollDistance(); + + $scroller.addEventListener('scroll', (event) => { + if ( + Math.ceil(event.target.scrollTop) < $scroller.top_distance + ) + $scroll.classList.add('hidden'); + else $scroll.classList.remove('hidden'); + }); + } + } + } + + function setScrollDistance() { + $scroller.top_distance = top; + if (top > 0 && store().unit === 'percent') { + let content_height = Array.from($scroller.children).reduce( + (h, c) => h + c.offsetHeight, + 0 + ); + $scroller.top_distance *= + (content_height - $scroller.offsetHeight) / 100; + } + } + } + }); + }, + }, }; diff --git a/mods/scroll-to-top/style.css b/mods/scroll-to-top/style.css deleted file mode 100644 index 84e3fb1..0000000 --- a/mods/scroll-to-top/style.css +++ /dev/null @@ -1,54 +0,0 @@ -/* - * scroll-to-top - * (c) 2020 dragonwocky (https://dragonwocky.me/) - * (c) 2020 CloudHill - * under the MIT license - */ - -.bottom-right-buttons { - position: absolute; - bottom: 33px; - right: 33px; - z-index: 101; - cursor: default; - pointer-events: none; -} - -.bottom-right-buttons > div { - margin-top: 8px; - pointer-events: auto; - - user-select: none; - transition: opacity 700ms ease 0s, color 700ms ease 0s, transform 700ms ease 0s; - cursor: pointer; - - position: static !important; - - width: 36px; - height: 36px; - - display: flex; - align-items: center; - justify-content: center; - - border-radius: 100%; - font-size: 20px; - - background: var(--theme--interactive_hover); - box-shadow: 0 0 0 0.5px var(--theme--interactive_hover-border); -} - -.notion-scroll-button { - display: flex !important; -} - -.notion-scroll-button.hidden { - pointer-events: none; - - visibility: hidden; - opacity: 0; - transform: translateY(10px); - - transition-property: opacity, transform, visibility; - transition-delay: 0, 0, 700ms -} \ No newline at end of file diff --git a/mods/scroll-to-top/styles.css b/mods/scroll-to-top/styles.css new file mode 100644 index 0000000..044e7f8 --- /dev/null +++ b/mods/scroll-to-top/styles.css @@ -0,0 +1,55 @@ +/* + * scroll-to-top + * (c) 2020 dragonwocky (https://dragonwocky.me/) + * (c) 2020 CloudHill + * under the MIT license + */ + +.bottom-right-buttons { + position: absolute; + bottom: 33px; + right: 33px; + z-index: 101; + cursor: default; + pointer-events: none; +} + +.bottom-right-buttons > div { + margin-top: 8px; + pointer-events: auto; + + user-select: none; + transition: opacity 700ms ease 0s, color 700ms ease 0s, + transform 700ms ease 0s; + cursor: pointer; + + position: static !important; + + width: 36px; + height: 36px; + + display: flex; + align-items: center; + justify-content: center; + + border-radius: 100%; + font-size: 20px; + + background: var(--theme--interactive_hover); + box-shadow: 0 0 0 0.5px var(--theme--interactive_hover-border); +} + +.notion-scroll-button { + display: flex !important; +} + +.notion-scroll-button.hidden { + pointer-events: none; + + visibility: hidden; + opacity: 0; + transform: translateY(10px); + + transition-property: opacity, transform, visibility; + transition-delay: 0, 0, 700ms; +} From c2a0b8e857a33154adb50fa50971c9a0b160a09e Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Thu, 22 Oct 2020 12:17:53 +1100 Subject: [PATCH 6/6] auto-resolve conflicts core option --- CHANGELOG.md | 6 +++--- mods/core/enhancerMenu.js | 21 +++++++++++++++++++++ mods/core/mod.js | 6 ++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af3441a..924f74a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ a flexibility update. normal "most recent" page). - new: css variables for increasing line spacing/paragraph margins. - new: patch the notion:// url scheme/protocol to work on linux. -- new: menu shows theme conflicts. +- new: menu shows theme conflicts + a core mod option to auto-resolve theme conflicts. - improved: menu will now respect integrated titlebar setting. - improved: use keyup listeners instead of a globalShortcut for the enhancements menu toggle. - bugfix: removed messenger emoji set as the provider no longer supports it. @@ -55,12 +55,12 @@ a fork of notion-deb-builder that does generate an app.asar has been created and // todo -- new: a core mod option to auto-resolve theme conflicts. - bugfix: night shift working on macOS. - bugfix: windows are properly hidden/shown on macOS. -- extension: "tweaks" = common layout changes. +- extension: "tweaks" = common style/layout changes. - new: a `-n` cli option. - improved: overwrite `app.asar.bak` if already exists. +- improved: additionally menu item descriptions on hover. ### v0.9.1 (2020-09-26) diff --git a/mods/core/enhancerMenu.js b/mods/core/enhancerMenu.js index 37e8642..aacb52e 100644 --- a/mods/core/enhancerMenu.js +++ b/mods/core/enhancerMenu.js @@ -542,6 +542,27 @@ window['__start'] = async () => { ].enabled ? 'enabled' : 'disabled'; + if ( + $enable.checked && + coreStore().autoresolve && + mod.tags.includes('theme') + ) { + modules.loaded.forEach((other) => { + const $other_enable = other.elem.querySelector( + `#enable_${other.id}` + ); + if ( + other !== mod && + $other_enable && + $other_enable.checked && + other.tags.includes('theme') + ) { + for (let mode of ['dark', 'light']) + if (other.tags.includes(mode) && mod.tags.includes(mode)) + $other_enable.click(); + } + }); + } search(); modified(); }); diff --git a/mods/core/mod.js b/mods/core/mod.js index 1d3bd3f..869160e 100644 --- a/mods/core/mod.js +++ b/mods/core/mod.js @@ -14,6 +14,12 @@ module.exports = { version: require('../../package.json').version, author: 'dragonwocky', options: [ + { + key: 'autoresolve', + label: 'auto-resolve theme conflicts', + type: 'toggle', + value: false, + }, { key: 'openhidden', label: 'hide app on open',