Commit graph

12 commits

Author SHA1 Message Date
ggurdin
ebe22129bc
fix: expose stream of newly collected constructs and use it to update new tokens cache on analytics update (#5169) 2026-01-12 10:24:55 -05:00
ggurdin
5e132dd7fe
feat: make construct aggregated case-insensitive (#5137) 2026-01-08 15:05:41 -05:00
ggurdin
1d27ca429a
fix: coerce existing aggregate analytics database entries into correct format before merging to avoid data loss (#5136) 2026-01-08 14:56:20 -05:00
ggurdin
af395d0aeb
4825 vocabulary practice (#4826)
* chore: move logic for lastUsedByActivityType into ConstructIdentifier

* feat: vocab practice

* add vocab activity progress bar

* fix: shuffle audio practice choices

* update UI of vocab practice

Added buttons, increased text size and change position, cards flip over and turn red/green on click and respond to hover input

* add xp sparkle, shimmering choice card placeholder

* spacing changes

fix padding, make choice cards spacing/sizing responsive to screen size, replace shimmer cards with stationary circle indicator

* don't include duplicate lemma choices

* use constructID and show lemma/emoji on choice cards

add method to clear cache in case the results was an error, and add a retry button on error

* gain xp immediately and take out continue session

also refactor the choice cards to have separate widgets for each type and a parent widget to give each an id for xp sparkle

* add practice finished page with analytics

* Color tweaks on completed page and time card placeholder

* add timer

* give XP for bonuses and change timer to use stopwatch

* simplify card logic, lock practice when few vocab words

* merge analytics changes and fix bugs

* reload on language change

- derive XP data from new analytics
- Don't allow any clicks after correct answer selected

* small fixes, added tooltip, added copy to l10

* small tweaks and comments

* formatting and import sorting

---------

Co-authored-by: avashilling <165050625+avashilling@users.noreply.github.com>
2026-01-07 10:13:34 -05:00
ggurdin
532e376895
fix: add new blocks to merge table before fetching previous constructs when calculating points added by construct update (#5098) 2026-01-06 16:26:38 -05:00
ggurdin
2c176c052d
5053 can get points from lemma with max score (#5078)
* make uses a private field for ConstructUses

* expose capped list of uses in ConstructUses

* filter capped construct uses in getUses
2026-01-06 11:39:49 -05:00
ggurdin
3517d0d627
fix: clear database on reinitialize (#5045) 2026-01-05 11:33:52 -05:00
ggurdin
a322cb5ad2
fix: on analytics DB init, don't clear DB unless stored userID doesn't match client userID (#5036) 2026-01-02 15:23:37 -05:00
ggurdin
bd58baee04
fix: only exclude xp gained analytics events if blocked constructs has entry (#5035) 2026-01-02 15:02:45 -05:00
ggurdin
a268c2a27d
fix: don't add XP update if no new construct uses were added (#5027) 2026-01-02 09:51:39 -05:00
ggurdin
0eeec052b2
4907 construct details changes (#4961)
* chore: remove delegation analytics page

* feat: vocab construct analytics level bar

* chore: analytics mobile navigation

* feat: cap construct XP
2025-12-29 13:39:37 -05:00
ggurdin
d8caf8e481
feat: analytics database 2025-12-23 14:35:41 -05:00