* 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
* fix: simplify word zoom card, make all activity buttons stateless
* feat: make it visually clearer which activity type is selected
* fix: give message to user when no token is selected in word zoom card
* feat: don't highlight selected token or speak selected token if message has hidden word activity
* feat: added error widgets to word zoom card
* feat: added x-out badge to word zoom activity buttons, created word zoom activity button widget
* fix: sort morph activity buttons to always have POS as first option, then having unlocked buttons before locked buttons, then alphabetically
* controller for calculating tokens with xp
* Update main.dart
* replace ConstructWithXP with ConstructUses
* wait for analytics data to load before setting token analytics for practice activities
* pull tokenwithxp constructs from getAnalyticsModel ConstructListModel
* added commented out workaround for server not returning target constructs
* still some bugs but its working
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>