anki/ts
RumovZ f2173fddb0
Live theme changes (#1497)
* Allow theme change at runtime and add hook

* Save or restore default palette on theme change

* Update aqt widget styles on theme change

* styling fixes

- drop _light_palette, as default_palette serves the same purpose
- save default platform theme, and restore it when switching away
from nightmode
- update macOS light/dark mode on theme switch
- fix unreadable menus on Windows

* update night-mode classes on theme change

This is the easy part - CSS styling that uses standard_css or our
css variables should update automatically. The main remaining issue
is JS code that sets colors based on the theme at the time it's run -
eg the graph code, and the editor.

* switch night mode value on toggle

* expose current theme via a store; switch graphs to use it

https://github.com/ankitects/anki/issues/1471#issuecomment-972402492

* start using currentTheme in editor/components

This fixes basic editing - there are still components that need updating.

* add simple xcodeproj for code completion

* add helper to get currently-active system theme on macOS

* fix setCurrentTheme not being immediately available

* live update tag color

* style().name() doesn't work on Qt5

* automatic theme switching on Windows/Mac

* currentTheme -> pageTheme

* Replace `nightModeKey` with `pageTheme`

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2021-11-25 07:17:41 +10:00
..
card-info Introduce our own Container, Row, and Col components (#1495) 2021-11-17 13:49:52 +10:00
change-notetype Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
components Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
congrats Fix missing left margin in CongratsPage (#1498) 2021-11-19 11:02:54 +10:00
deck-options Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
domlib Fix some issues with new surround buttons (#1505) 2021-11-24 10:33:14 +10:00
editable Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
editor Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
graphs Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
html-filter Use trailingComma: all setting in .prettierrc (#1435) 2021-10-19 09:06:00 +10:00
lib Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
patches update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
reviewer Set "no-non-null-assertion: off" by default (#1475) 2021-11-04 11:42:51 +10:00
sql_format use absolute path for sql_format 2021-10-31 11:13:38 +10:00
svelte another external workspace fix for sass 2021-11-12 15:02:17 +10:00
sveltelib Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
.eslintrc.js Set "no-non-null-assertion: off" by default (#1475) 2021-11-04 11:42:51 +10:00
.gitignore Update eslint to 4.22.0 2021-04-22 19:19:39 +02:00
BUILD.bazel add aliases to run vendored python and node from command line 2021-10-18 19:50:41 +10:00
compile_sass.bzl Put sass into repo directory (#1409) 2021-10-09 10:25:03 +10:00
copy.bzl include sourcemaps for pages/* in dev builds 2021-04-20 17:33:46 +10:00
esbuild.bzl update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
eslint.bzl use absolute package paths in eslint.bzl 2021-11-02 13:49:19 +10:00
format.sh prettier: don't depend on system node being available 2021-11-25 07:14:15 +10:00
jest.bzl Reverse-engineer surrounding with execCommand (#1377) 2021-11-18 19:18:39 +10:00
jest.config.js update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
licenses.json update js deps 2021-10-26 08:30:13 +10:00
prettier.bzl prettier: don't depend on system node being available 2021-11-25 07:14:15 +10:00
proto.bzl update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
protobuf-no-long.js add a hack to avoid Long.js in Jest tests 2021-04-17 17:05:48 +10:00
protobuf.bzl force number in protobuf generation 2021-04-12 14:33:20 +10:00
README.md add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
tsconfig.json Introduce our own Container, Row, and Col components (#1495) 2021-11-17 13:49:52 +10:00
typescript.bzl Refactor i18n (#1405) 2021-10-07 23:31:49 +10:00
update-licenses.sh move node_modules into root folder [action required] 2021-10-07 11:42:27 +10:00
update.sh add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
vendor.bzl add workaround for protobufjs requiring uppercase package names 2021-07-10 15:24:01 +10:00
yarn.sh Replace individual d3 libraries with encompassing d3 2021-01-30 00:00:22 +01:00

Anki's TypeScript and Sass dependencies. Some TS/JS code is also stored separately in ../qt/aqt/data/web/.

To update all dependencies:

./update.sh

To add a new dev dependency, use something like:

./add.sh -D @rollup/plugin-alias