diff --git a/qt/aqt/data/web/css/BUILD.bazel b/qt/aqt/data/web/css/BUILD.bazel index 9af8f32c0..cbcda756f 100644 --- a/qt/aqt/data/web/css/BUILD.bazel +++ b/qt/aqt/data/web/css/BUILD.bazel @@ -9,7 +9,6 @@ compile_sass( ), group = "css_local", deps = [ - "//sass:core_lib", "//sass:buttons_lib", "//sass:scrollbar_lib", "//sass:card_counts_lib", @@ -29,7 +28,7 @@ copy_files_into_group( copy_files_into_group( name = "editable", srcs = [ - "editable-build.css", + "editable.css", ], package = "//ts/editable", ) diff --git a/qt/aqt/data/web/css/deckbrowser.scss b/qt/aqt/data/web/css/deckbrowser.scss index 930d5f527..8b420b3ff 100644 --- a/qt/aqt/data/web/css/deckbrowser.scss +++ b/qt/aqt/data/web/css/deckbrowser.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use 'sass/card-counts'; +@use "sass/card-counts"; a.deck { color: var(--text-fg); diff --git a/qt/aqt/data/web/css/overview.scss b/qt/aqt/data/web/css/overview.scss index 2120d1476..23565f573 100644 --- a/qt/aqt/data/web/css/overview.scss +++ b/qt/aqt/data/web/css/overview.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use 'sass/card-counts'; +@use "sass/card-counts"; .smallLink { font-size: 10px; diff --git a/qt/aqt/data/web/css/reviewer-bottom.scss b/qt/aqt/data/web/css/reviewer-bottom.scss index cd2fd94b5..5cdaddaea 100644 --- a/qt/aqt/data/web/css/reviewer-bottom.scss +++ b/qt/aqt/data/web/css/reviewer-bottom.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use 'sass/card-counts'; +@use "sass/card-counts"; :root { --focus-color: #0078d7; diff --git a/qt/aqt/data/web/css/webview.scss b/qt/aqt/data/web/css/webview.scss index ff5909313..d6b85081c 100644 --- a/qt/aqt/data/web/css/webview.scss +++ b/qt/aqt/data/web/css/webview.scss @@ -1,17 +1,29 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use 'sass/core'; -@use 'sass/scrollbar'; -@use 'sass/buttons'; +@use "sass/scrollbar"; +@use "sass/buttons"; -// core.scss sets border-box, but we need to -// keep the old behaviour for now to avoid breaking -// add-ons/card templates * { + // border-box would be better, but we need to + // keep the old behaviour for now to avoid breaking + // add-ons/card templates box-sizing: content-box; } +body { + color: var(--text-fg); + background: var(--window-bg); + margin: 1em; + transition: opacity 0.5s ease-out; + overscroll-behavior: none; +} + +a { + color: var(--link); + text-decoration: none; +} + body { margin: 2em; overscroll-behavior: none; diff --git a/qt/aqt/data/web/js/compile_ts.bzl b/qt/aqt/data/web/js/compile_ts.bzl index fbcb03397..31704f2d8 100644 --- a/qt/aqt/data/web/js/compile_ts.bzl +++ b/qt/aqt/data/web/js/compile_ts.bzl @@ -9,7 +9,7 @@ def compile_ts(group, srcs): name = name, src = ts_file, sourcemap = False, - deps = ["//sass:core_lib"], + deps = [], ) native.filegroup( diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index 31fe1be98..9e4e21fdd 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -130,7 +130,7 @@ class Editor: css=["css/editor.css"], js=["js/editor.js"], context=self, - default_css=True, + default_css=False, ) lefttopbtns: list[str] = [] diff --git a/sass/BUILD.bazel b/sass/BUILD.bazel index a35d13a5f..b1183f8f1 100644 --- a/sass/BUILD.bazel +++ b/sass/BUILD.bazel @@ -3,13 +3,16 @@ load("@io_bazel_rules_sass//:defs.bzl", "sass_library") sass_library( name = "base_lib", srcs = [ - "_vars.scss", "_fusion-vars.scss", + "_vars.scss", "base.scss", "bootstrap-dark.scss", ], visibility = ["//visibility:public"], - deps = ["//sass/bootstrap", "//sass/codemirror"], + deps = [ + "//sass/bootstrap", + "//sass/codemirror", + ], ) sass_library( @@ -29,6 +32,8 @@ sass_library( visibility = ["//visibility:public"], ) +# minimal definitions used by AnkiMobile's editor - should be safe to remove +# once AnkiMobile switches to the new editor code in the future sass_library( name = "core_lib", srcs = [ @@ -49,7 +54,8 @@ sass_library( sass_library( name = "button_mixins_lib", srcs = [ - "button-mixins.scss", + "_button-mixins.scss", + "_fusion-vars.scss", ], visibility = ["//visibility:public"], ) diff --git a/sass/button-mixins.scss b/sass/_button-mixins.scss similarity index 80% rename from sass/button-mixins.scss rename to sass/_button-mixins.scss index f39f37e9a..7934aaf08 100644 --- a/sass/button-mixins.scss +++ b/sass/_button-mixins.scss @@ -1,6 +1,13 @@ +@use "fusion-vars"; + @import "bootstrap/scss/functions"; @import "bootstrap/scss/variables"; +@mixin impressed-shadow($intensity) { + box-shadow: inset 0 calc(var(--buttons-size) / 15) calc(var(--buttons-size) / 5) + rgba(black, $intensity); +} + @mixin btn-border-radius { border-top-left-radius: var(--border-left-radius); border-bottom-left-radius: var(--border-left-radius); @@ -58,12 +65,15 @@ $btn-base-color-day: white; } } -$btn-base-color-night: #666; +$btn-base-color-night: fusion-vars.$button-border; @mixin btn-night-base { color: var(--text-fg); - background-color: $btn-base-color-night; - border-color: $btn-base-color-night; + background: linear-gradient( + 0deg, + fusion-vars.$button-gradient-start 0%, + fusion-vars.$button-gradient-end 100% + ); } @mixin btn-night( @@ -76,15 +86,23 @@ $btn-base-color-night: #666; @include btn-night-base; @content ($btn-base-color-night); + box-shadow: 0 0 3px fusion-vars.$button-outline; + border: 1px solid fusion-vars.$button-border; + -webkit-appearance: none; + @if ($with-hover) { &:hover, &.hover { - background-color: lighten($btn-base-color-night, 8%); - border-color: lighten($btn-base-color-night, 8%); + background: linear-gradient( + 0deg, + lighten(fusion-vars.$button-gradient-start, 8%) 0%, + lighten(fusion-vars.$button-gradient-end, 8%) 100% + ); + border-color: lighten(fusion-vars.$button-border, 8%); } } - @if ($with-disabled) { + @if ($with-active) { &:active, &.active { @include impressed-shadow(0.35); @@ -114,11 +132,6 @@ $btn-base-color-night: #666; // should be similar to -webkit-focus-ring-color $focus-color: rgba(21 97 174); -@mixin impressed-shadow($intensity) { - box-shadow: inset 0 calc(var(--buttons-size) / 15) calc(var(--buttons-size) / 5) - rgba(black, $intensity); -} - @function down-arrow($color) { @return url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='transparent' stroke='#{$color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); } diff --git a/sass/_vars.scss b/sass/_vars.scss index bac3d4816..a92eefccc 100644 --- a/sass/_vars.scss +++ b/sass/_vars.scss @@ -76,5 +76,5 @@ --marked-bg: #77c; --tooltip-bg: #272727; --focus-border: #316dca; - --focus-shadow: #143d79; + --focus-shadow: #194380; } diff --git a/sass/base.scss b/sass/base.scss index 9c1fa8c1b..27c8612cf 100644 --- a/sass/base.scss +++ b/sass/base.scss @@ -1,4 +1,5 @@ @use "vars"; +@use "scrollbar"; $body-color: var(--text-fg); $body-bg: var(--window-bg); @@ -31,10 +32,19 @@ $utilities: ( flex-basis: 75%; } +html, +body { + height: 100%; +} + * { overscroll-behavior: none; } +.nightMode { + @include scrollbar.night-mode; +} + button { /* override transition for instant hover response */ transition: color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important; @@ -43,3 +53,15 @@ button { pre, code, kbd, samp { unicode-bidi: normal !important; } + +.isWin { + --base-font-size: 12px; +} + +.isMac { + --base-font-size: 13px; +} + +.isLin { + --base-font-size: 14px; +} diff --git a/sass/bootstrap-forms.scss b/sass/bootstrap-forms.scss new file mode 100644 index 000000000..940d50fce --- /dev/null +++ b/sass/bootstrap-forms.scss @@ -0,0 +1,10 @@ +/* Copyright: Ankitects Pty Ltd and contributors + * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ + +@import "sass/bootstrap/scss/forms"; + +.form-control, +.form-select { + // the unprefixed version wasn't added until Chrome 81 + -webkit-appearance: none; +} diff --git a/sass/bootstrap-tooltip.scss b/sass/bootstrap-tooltip.scss new file mode 100644 index 000000000..a4d57e81d --- /dev/null +++ b/sass/bootstrap-tooltip.scss @@ -0,0 +1,25 @@ +/* Copyright: Ankitects Pty Ltd and contributors + * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ + +$tooltip-padding-y: 0.45rem; +$tooltip-padding-x: 0.65rem; +$tooltip-max-width: 300px; + +@import "sass/bootstrap/scss/tooltip"; + +.tooltip-inner { + text-align: start; + + // marked transpiles tooltips into multiple paragraphs + // where trailing
s cause a bottom margin + > p:last-child { + display: inline; + } + + // the default code color in tooltips is difficult to read; we'll probably + // want to add more of our own styling in the future + code { + color: #ffaaaa; + direction: inherit; + } +} diff --git a/sass/buttons.scss b/sass/buttons.scss index bf029e226..2561efe23 100644 --- a/sass/buttons.scss +++ b/sass/buttons.scss @@ -38,9 +38,7 @@ border: 1px solid fusion-vars.$button-border; border-radius: 5px; - padding: 10px; - padding-top: 3px; - padding-bottom: 3px; + padding: 3px 10px 3px; } button:hover { @@ -53,13 +51,7 @@ background: #656565; box-shadow: 0 1px 2px #222222; border-top-color: #848484; - border-top-width: 0.5px; - border-bottom: 0; - border-left: 0; - border-right: 0; - padding-top: 2px; - padding-bottom: 2px; - padding-left: 15px; - padding-right: 15px; + border-width: 0.5px 0 0; + padding: 2px 15px; color: #e5e5e5; } diff --git a/ts/card-info/CardStats.svelte b/ts/card-info/CardStats.svelte index ccaef6672..319e25351 100644 --- a/ts/card-info/CardStats.svelte +++ b/ts/card-info/CardStats.svelte @@ -3,6 +3,7 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> -
{row.label} | -{row.value} | -
---|
{row.label} | +{row.value} | +
---|
{nextLearnMsg}
@@ -58,16 +59,17 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html