* add shimmer in vocab page when no emoji selected
* fix shimmer in 2 column mode and add XP for first emoji selection
* add xp sparkle on emoji selection
* formatting, imports, widget name typo fix
* dont rebuild analytics page on every analytics stream update
* remove listener
* move animation and selection visual after slow function
for better visual flow and hopefully not noticeable stutter
* change transformTargetId into variable, update local display state before awaiting saving to analytics room
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* more consistent emojis and emoji selection in vocab page
- Makes emoji row always visible in vocab page and highlights selection
- selects one by default so more emojis show on the page
- Saves spot in vocab page on navigation
- Doesn't override emoji choice from emoji activity
* code and import formatting
* reduce calls to lemma_definition, remove unused widget file, prevent copy-related errors, don't show emoji activities for messages with less-than 2 relevant tokens
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* chore: fully update match info after auto-accepting replacement, add more error handling in construct token span
* bump version
* fix: don't stop activity language on fail to fetch image URL
* fix: don't show copy class code buttons into class code is null
* fix: use activity type enum name in key instead of string
* chore: fully update match info after auto-accepting replacement, add … (#2866)
* chore: fully update match info after auto-accepting replacement, add more error handling in construct token span
* bump version
* fix: don't stop activity language on fail to fetch image URL
* fix: don't show copy class code buttons into class code is null
* fix: use activity type enum name in key instead of string
* refactor: remove tokens and detections from IGC text data model
* generated
* refactor: initial work to remove tokens from span_details and IT responses
* refactor: add xp field to construct use class, rewrite function for turning choreo record into construct uses
* refactor: add translation assistance construct use type
* refactor: move analytics feedback to popup above messages
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: show correct morph once matched
* fix: account for morph activities in function to determine is token activity is complete
* chore: on click already correctly matched item, open the toolbar for the corresponding token
* refactor: move construct notifications to the top of the screen
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* still in draft
* feat(reading_assistance): whole message activity oriented
* chore: fix .env file path
* feat: animate selected toolbar into middle of screen
* chore: initial work for message bubble size animation
* refactor(reading_assistance): hooking up the choice interactions and polishing UI
* chore: animate in content and buttons
* formatting
* position reading content relative to selected token
* working on limiting choices
* chore: fix positioning of toolbar animation
* chore: simplify positioning logic
* chore: animate in button height
* getting there
* rough draft with restricted activity number is complete
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>