Damien Elmes
ac045e9e3f
fix initial ease not being updated
2021-04-14 23:01:03 +10:00
Damien Elmes
57a1651113
deck config prototype work in progress
...
Still in the early stages, and not hooked up yet.
2021-04-14 22:33:10 +10:00
Damien Elmes
64818290fc
Merge pull request #1128 from hgiesel/webviewcss3
...
Remove unnecessary exports from sass/BUILD.bazel
2021-04-14 21:28:25 +10:00
Damien Elmes
6523fed84c
experiment with making bootstrap scss available as a library
...
This will allow us to import the local sass lib, then use something
like the following in our sass:
@import "ts/bootstrap/functions";
@import "ts/bootstrap/variables";
@import "ts/bootstrap/mixins";
@import "ts/bootstrap/helpers";
@import "ts/bootstrap/dropdown";
@import "ts/bootstrap/forms";
@import "ts/bootstrap/buttons";
@import "ts/bootstrap/button-group";
I'm currently trialing it out on a prototype reimplementation of the
deck options screen. Unfortunately bootstrap don't seem to support the
@use syntax, so we need to @import everything
2021-04-14 21:27:34 +10:00
Henrik Giesel
d055bfa3c7
Remove unnecessary exports from sass/BUILD.bazel
...
I think these were just part of an unsuccessful experiment
Partially reverses fb26361274
2021-04-14 12:31:42 +02:00
Damien Elmes
cd4326c77e
run prettier on some sass files
2021-04-14 18:22:33 +10:00
Damien Elmes
2a43d42323
run black/isort on Python scripts
2021-04-14 18:22:02 +10:00
Damien Elmes
898b8d2e09
Merge pull request #1125 from hgiesel/scrollbarcorner
...
Color Scrollbar bottom right corner
2021-04-14 12:43:34 +10:00
Henrik Giesel
082fd8d28f
Color in the Scrollbar corner at the bottom right into the appropriate color
2021-04-13 21:41:15 +02:00
Henrik Giesel
fb26361274
Create explicit dependencies for the congrats,editor,graphs scss files
2021-04-13 19:47:03 +02:00
Henrik Giesel
19903986f9
Move compile_sass.bzl to /ts + Remove core.css from data/web (unused?)
2021-04-13 19:47:03 +02:00
Henrik Giesel
5bcb2f080f
Declare dependencies in data/web/css
2021-04-13 19:47:03 +02:00
Henrik Giesel
9cba0c2d29
Make h1 explicitly bold in Graph.svelte
2021-04-13 19:47:03 +02:00
Henrik Giesel
630ee9c6bb
Use graphs-base and congrats-base
2021-04-13 19:47:03 +02:00
Henrik Giesel
8efbcddbb4
Do not include webview.css for editor
2021-04-13 19:47:03 +02:00
Henrik Giesel
b14dc3f7cb
Move card_counts and split off fusion_vars
2021-04-13 19:47:03 +02:00
Henrik Giesel
c944eeb5f6
Add base.scss
2021-04-13 19:47:03 +02:00
Damien Elmes
eb6502bd6e
add missing copyright headers to *.svelte
2021-04-13 19:02:41 +10:00
Damien Elmes
1f475a1709
add missing copyright headers to *.ts
2021-04-13 18:57:08 +10:00
Damien Elmes
c6da01c4aa
disable Jest tests on Windows again
...
It looks like the templated_args change only masked the error last time;
Jest seems broken on Windows with both the patched .24 version, latest
stable, and the new beta version too, presumably because symlinks are
being handled differently on Windows somehow. It might be possible to
hack around the issue by patching the following file, but I'm not sure:
https://github.com/facebook/jest/blob/master/packages/jest-haste-map/src/crawlers/node.ts
2021-04-12 15:39:46 +10:00
Damien Elmes
9d03e266e3
add naturalWholeUnit() and basic tests to lib/time.ts
...
naturalWholeUnit() is not currently used
2021-04-12 14:42:06 +10:00
Damien Elmes
3c3258251d
force number in protobuf generation
...
Anki's object IDs and millisecond timestamps fit within MAX_SAFE_INTEGER.
2021-04-12 14:33:20 +10:00
Damien Elmes
43a8b8fec3
stop Svelte warnings from failing the build
...
+ check for them at test time
2021-04-12 14:28:09 +10:00
Damien Elmes
8c64cc38d7
fix jest
...
- templated_args was missing --node_modules= prefix, and was causing
tests to pass unconditionally
- update to beta of jest 27, which introduces an option to fix the
symlink handling, and is approx twice as fast to start up
2021-04-12 09:43:31 +10:00
Damien Elmes
dc8c0a2e73
switch esbuild to a toolchain
2021-04-07 15:19:23 +10:00
Damien Elmes
fb1111623f
update to latest esbuild
2021-04-07 14:54:40 +10:00
abdo
a6bdde68db
Fix graph labels display in RTL layout
2021-04-02 06:25:38 +03:00
Damien Elmes
188a8891fd
add docstring to forEditorField
2021-03-29 18:13:45 +10:00
Damien Elmes
efb8a4e61c
Merge pull request #1101 from Arthur-Milchior/TS_type
...
NF: add type ts
2021-03-29 18:09:56 +10:00
Damien Elmes
2e1104c724
move loader arg into esbuild() invocation
...
upstream.bzl should be kept as close to upstream as possible, so that
it's easier to send changes upstream and pull in future changes
2021-03-29 17:59:06 +10:00
Arthur Milchior
cfa2ee6774
NF: add type ts
2021-03-28 23:59:16 +02:00
Henrik Giesel
d01aa0de6f
Add copy_bootstrap_icons macro
2021-03-28 18:50:37 +02:00
Henrik Giesel
77c396c2a8
Include pin-angle icon via inline SVG
2021-03-28 16:15:30 +02:00
Damien Elmes
fb222149af
define file extension in .d.ts so typescript doesn't complain
2021-03-28 16:15:28 +02:00
Henrik Giesel
443ee54f7e
Unsuccessfully try to add text loader for .svg files
2021-03-28 16:14:52 +02:00
Henrik Giesel
9d64508bd1
Remove bootstrap-icons from css folder
2021-03-28 16:14:52 +02:00
Damien Elmes
d279ca4cac
move back to latest Jest
...
Patch is no longer required after previous change
2021-03-28 21:44:55 +10:00
Damien Elmes
9a75392f54
fix Jest on Windows
2021-03-28 20:59:51 +10:00
Damien Elmes
e2963e54f8
Revert "disable Jest tests on Windows for now"
...
This reverts commit 819f87df42 .
2021-03-28 20:59:31 +10:00
Damien Elmes
819f87df42
disable Jest tests on Windows for now
2021-03-28 20:34:10 +10:00
Damien Elmes
ad47b68255
add Jest for TS unit tests
...
@hgiesel the reason no files were being found is because Jest ignores
symlinks by default. The Bazel example includes a patch we can use
to work around it, and Jest plan to add symlink support in a future
update.
https://github.com/bazelbuild/rules_nodejs/blob/stable/examples/jest/patches/jest-haste-map%2B24.9.0.patch
https://github.com/facebook/jest/pull/9351
2021-03-28 19:41:20 +10:00
Henrik Giesel
ac46f6cb27
Utilize ts/tsconfig.js from ts/{editor,html-filter}
2021-03-28 19:41:20 +10:00
Henrik Giesel
d346ae6feb
No need to explicitly import from index
2021-03-28 19:41:20 +10:00
Henrik Giesel
722adec915
Satisfy formatter
2021-03-28 19:41:20 +10:00
Henrik Giesel
c99d91c283
Avoid using outerHTML + Fix regression
2021-03-28 19:41:20 +10:00
Henrik Giesel
f432da5af7
Change filter logic in html-filter/element: predicate true, means it stays in
2021-03-28 19:41:20 +10:00
Henrik Giesel
1aefab95f8
Move html-filter into its own directory
2021-03-28 19:41:20 +10:00
Henrik Giesel
127b46d240
Insert break statements into switch
2021-03-28 19:41:20 +10:00
Henrik Giesel
4baa87348e
Create htmlFilter{Node,Styling} for better separation of concerns
2021-03-28 19:41:20 +10:00
Henrik Giesel
6822c56e53
Put filterElement logic completely into its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
a9fa7cd0db
Move most of tags allowed to its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
f4e3a9202f
Refactor htmlFilter to use function declarations
2021-03-28 19:41:20 +10:00
Damien Elmes
0edbd3fc4b
use relative link to sass file
...
links relative to workspace root break when invoked from an external
repo
2021-03-28 12:37:21 +10:00
Damien Elmes
3761693be2
add links to pending PRs
2021-03-28 12:32:40 +10:00
Damien Elmes
0b2c3e1c3b
fix(esbuild): files not being found when building external repo
...
An esbuild rule that ran fine in a local repo (eg bazel build //:my_esbuild_rule)
fails when built externally (eg bazel build @other_workspace//:my_esbuild_rule).
By prepending the workspace root to the bin path, the resulting base
URL works correctly in both local and remote repo invocations, allowing
esbuild output to be consumed by a different repo.
This change fixes remote repos in Bazel 4.0.0. 3.7.0 seems to require a
workspace_root.replace("external/", "") call first in order
to get the correct location. So while this patch should not break anything
that was not already broken, it only fixes/adds support for remote repos
in 4.0+.
2021-03-28 11:30:15 +10:00
Damien Elmes
061c7e60fc
add esbuild/helpers.bzl in from upstream
2021-03-28 11:12:23 +10:00
Damien Elmes
b8b2be3f9f
update $(location ...) in esbuild inject lines
2021-03-28 09:35:46 +10:00
Damien Elmes
7500a2765f
support expanding locations in esbuild arguments
2021-03-28 09:35:27 +10:00
Damien Elmes
16632c90df
update TS deps
2021-03-27 15:02:02 +10:00
Damien Elmes
125dcee811
remove obsolete comment
2021-03-26 21:47:23 +10:00
Damien Elmes
0006a385e1
allow js to request specific i18n modules
...
Brings the payload on the congrats page with a non-English language
down from about 150k to 15k
2021-03-26 21:43:36 +10:00
Damien Elmes
5ef9282f9b
fix handling of variables that don't match ts naming style
2021-03-26 21:34:24 +10:00
Damien Elmes
00eb89c2ec
use singleton + free functions for i18n in ts
...
This allows for tree shaking, and reduces the congrats page from 150k
with the old enum solution to about 80k.
2021-03-26 20:38:44 +10:00
Damien Elmes
b145b04ddf
drop legacy enum from ts/
2021-03-26 19:26:35 +10:00
Damien Elmes
6cde7ff536
update remaining TR references in ts/
2021-03-26 19:24:48 +10:00
Damien Elmes
7a7cb7402d
update most no-arg TR references in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
1ed1902933
update TR references with args in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
0e50259e6b
update TR references with args in *.ts; fix average answer time
2021-03-26 19:10:39 +10:00
Damien Elmes
2ab7a30b7b
convert no-arg TR references to method invocations in *.ts
2021-03-26 19:10:27 +10:00
Damien Elmes
efb92d5ee9
generate ts methods for translations
2021-03-26 18:11:58 +10:00
Damien Elmes
0c63a7c8c4
rework translation handling
...
Instead of generating a fluent.proto file with a giant enum, create
a .json file representing the translations that downstream consumers
can use for code generation.
This enables the generation of a separate method for each translation,
with a docstring that shows the actual text, and any required arguments
listed in the function signature.
The codebase is still using the old enum for now; updating it will need
to come in future commits, and the old enum will need to be kept
around, as add-ons are referencing it.
Other changes:
- move translation code into a separate crate
- store the translations on a per-file/module basis, which will allow
us to avoid sending 1000+ strings on each JS page load in the future
- drop the undocumented support for external .ftl files, that we weren't
using
- duplicate strings in translation files are now checked for at build
time
- fix i18n test failing when run outside Bazel
- drop slog dependency in i18n module
2021-03-26 09:41:32 +10:00
Henrik Giesel
730d75a6c4
Satisfy svelte_check
2021-03-22 15:41:43 +01:00
Henrik Giesel
0a882175e5
Add type signatures to asyncReactive
2021-03-22 15:30:35 +01:00
Henrik Giesel
8bf68ea7ca
Satisfy formatter
2021-03-22 15:25:49 +01:00
Henrik Giesel
e973b555f3
Fix asyncReactive detection of loading
...
- Removed `success` store as it wouldn't work
- We should check for a value in error instead
2021-03-22 15:23:48 +01:00
Henrik Giesel
b52d05431d
Partially revert "Make sure RangeBox does not trigger update on stores on creation"
...
This reverts commit 8232e2f5ed .
2021-03-22 15:11:36 +01:00
Henrik Giesel
12123fc68b
Remove assignment to preferencesPromise: getPreferences will only be called once
2021-03-22 04:03:52 +01:00
Henrik Giesel
0368bac9be
Move async and asyncReactive to sveltelib
...
- sveltelib is a lib for component-agnostic svelte utils
2021-03-22 03:06:53 +01:00
Henrik Giesel
c44340e761
Avoid duplicate initial fetching with asyncReactive
2021-03-22 02:58:19 +01:00
Henrik Giesel
8232e2f5ed
Make sure RangeBox does not trigger update on stores on creation
2021-03-22 02:50:16 +01:00
Henrik Giesel
8cb7d4a8ad
Create search and days writable in GraphsPage to allow browserSearch to work
2021-03-22 02:44:08 +01:00
Henrik Giesel
c7a6665307
Fix syntax error introduced by rebase
2021-03-22 01:44:07 +01:00
Henrik Giesel
1e5bb2f226
Create BrowserSearch component, because we cannot read from stores within slotted content
2021-03-22 01:42:23 +01:00
Henrik Giesel
abdf8a464f
Remove pending, and resort to checking for value
...
- once value is set, it won't be unset
2021-03-22 01:42:23 +01:00
Henrik Giesel
6d2d40472d
Use preferencesPromise, as refreshing is handled over stores
2021-03-22 01:42:23 +01:00
Henrik Giesel
4468938dfd
Use $-assignments instead of store.set
2021-03-22 01:42:23 +01:00
Henrik Giesel
fbf2c6f6fc
Rename search and days to initialSearch and intitialDays in GraphsPage
2021-03-22 01:42:23 +01:00
Henrik Giesel
4ef0b3c977
Get it to work, if you change the input
...
- there's still an issue on initial load
2021-03-22 01:42:23 +01:00
Henrik Giesel
26d4854502
Compiles with WithGraphData
2021-03-22 01:42:23 +01:00
Henrik Giesel
c6ba8f779e
Move Graph-specific html from GraphsPage to Graph.svelte
2021-03-22 01:42:21 +01:00
Henrik Giesel
cfaf0e587b
Add WithGraphData
2021-03-22 01:40:51 +01:00
Henrik Giesel
aebb665164
Rename asyncRefresh to asyncReactive
2021-03-22 01:40:51 +01:00
Henrik Giesel
92658495ad
Improve implementation of asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
b0116aa3a9
Add (probably non-working) asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
159f6dc4e1
Add Svelte async hook
2021-03-22 01:40:51 +01:00
Henrik Giesel
5b1eb98b86
Add comment where to find global styles
2021-03-21 16:04:38 +01:00
Henrik Giesel
794642b2f2
Move ticks.scss directly into Graph.svelte
2021-03-21 15:59:11 +01:00
Damien Elmes
7c76693618
merge in Henrik's TS/Svelte refactor with some changes
...
- The previous commits moved the majority of the remaining global css
into components; move the remaining @emotion/css references into
ticks.scss and the styling of the Graph.svelte. This is not as elegant
as the emotion solution, but builds a whole lot faster, and most of
our styling can be scoped to a component anyway.
- Leave the .html files in ts/ for now. AnkiMobile uses them, and
AnkiDroid likely will in the future too. In the long run we'll likely
move to loading the JS into an existing page instead of loading a
separate page, but at that point we can just exclude the .html file from
copy_files_into_group() without affecting other clients.
Closes #1074
2021-03-21 23:01:18 +10:00
Damien Elmes
13afaaa770
move some cumulative-overlay-specific styling out of shared css
2021-03-21 20:18:05 +10:00
Damien Elmes
ba4e5d834c
add HoverColumns.svelte for hoverzone styling
2021-03-21 19:58:39 +10:00