* dev: clean up isActivityBasicallyEligible and shouldDoActivity defs
* feat: bring back locking of tools and highlight words with meaning activities
* fix: exclude tokens that are not relevant for meaning activities from proportionOfActivitiesCompleted computation
* fix: show yellow if token meaning activity has been done but shouldDoActivity is true
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* fix: fix dart formatting for CI
* fix: sorted imports, updated deprecated flutter functions
* fix: format files
* fix: format files
* feat: replace syncfusion flutter package with excel flutter package
* fix: don't run enable google services patch in CI
* fix: update iOS supported platforms for enable ios build script
* fix: commented out linux build in integrate CI
* updated toolbar buttons
* initial work for toolbar updates
* Add WordZoomWidget to display word and lemma information (#1214)
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/pangeachat/client/tree/1179-toolbar-changes?shareId=XXXX-XXXX-XXXX-XXXX).
* word zoom card prototyped, activity generation in progress
* adding copy for new construct uses
* laying down TODOs
* initial work for word zoom card
* Always add part of speech to token's morph list
* Prevent duplicate choices in lemma activity
* Don't play token audio at start of morph activity
* Only grant +1 points for emoji activity
* Uncomment tryToSpeak function
* Always update activity once complete
* Added queuing / UI logic for morph activity buttons
* code cleanup
* added required data argument to logError calls
* fix overflowing practice activity card and audio player on mobile
---------
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
* Data is required for .logError
* Edit data for readability
* remove commented out breadcrumbs
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* make tts response a warning
* use toString instead of typecast
* made _event without originalSent message a warning
* don't call showFirstMatch if matches is empty