* 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>
* 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>
* refactor: move construct notifications to the top of the screen
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>