Commit graph

185 commits

Author SHA1 Message Date
ggurdin
57ecf08801
chore: make emoji choice shimmer background match word card background (#5116) 2026-01-07 12:16:05 -05:00
ggurdin
832533b4f7
feat: Directing to click messages with shimmer (#5106) 2026-01-07 11:04:00 -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
066517a204
chore: force span card to always go above input bar (#5096) 2026-01-06 15:34:19 -05:00
ggurdin
354e3a14d1
4919 further optimizing message info (#5033)
* remove original sent from message content

* don't add null fields to message content JSON
2026-01-02 14:30:05 -05:00
ggurdin
178003dfa2
fix: add horizontal padding to prevent choice animation cutoff (#5032) 2026-01-02 11:09:37 -05:00
Kelrap
3cd387cc13
Ensure consistency of pressable button height after animation (#5025)
* Ensure consistency of pressable button height after animation

* Use variable instead of hardcoded value
2026-01-02 10:29:35 -05:00
ggurdin
fb2ef4b0a1
chore: Delay until screen darkening (#5009) 2025-12-31 11:18:31 -05:00
Kelrap
711ae38f4a
Model key cleanup (#4983)
* refactor: Group redundant ModelKey entries

* Add python script to find and replace hardcoded ModelKey values

* Edited Python script to not automatically use ModelKey for files not
already using it

* refactor: Ran script and accepted obvious changes

* rename 'duration' model key

---------

Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-12-31 09:26:06 -05:00
ggurdin
1ac9afe141
chore: add feedback response dialog (#4992) 2025-12-30 14:39:58 -05:00
ggurdin
d8caf8e481
feat: analytics database 2025-12-23 14:35:41 -05:00
ggurdin
18c603db92
chore: add content to distinguish system edit from manual edit 2025-12-22 10:02:13 -05:00
ggurdin
1da3ed16f7
add shimmer background to match choices 2025-12-16 16:25:26 -05:00
ggurdin
43fc4f3daf
chore: use builder to style pressable buttons based on height 2025-12-16 11:17:35 -05:00
ggurdin
84737dbca1
update lemma meaning and phonetic transcription repos 2025-12-09 16:20:17 -05:00
Kelrap
7062e42228 Add userGender to requests.dart 2025-12-08 12:17:27 -05:00
Kelrap
d1a2080304 Add a gender value to the user settings 2025-12-05 11:21:07 -05:00
ggurdin
652f5731b4
build: file reorganization 2025-12-04 16:36:04 -05:00
ggurdin
abab3923d9
resolve merge conflicts 2025-12-04 15:07:35 -05:00
ggurdin
06cfc6a271
chore: set locally cached value for if user saw activity menu dropdown to false on logout 2025-12-04 14:18:13 -05:00
ggurdin
1e6cabc5d8
allow users to block constructs from their analytics 2025-12-04 14:07:38 -05:00
ggurdin
5e9840dbe6
remove unreferenced functions from user controller 2025-12-04 11:01:41 -05:00
ggurdin
25bae8baf6
remove matrix widget reference from pangea controller 2025-12-04 10:44:04 -05:00
ggurdin
3ac8339817
split language related and learning settings related folders 2025-12-04 10:06:59 -05:00
ggurdin
16fe7f28e3
move language settings getter into user controller 2025-12-04 09:12:48 -05:00
ggurdin
97bfdb2603
remove space code controller from pangea controller 2025-12-03 16:36:41 -05:00
ggurdin
e184e9a76f
move text to speech controller out of pangea controller 2025-12-03 15:39:29 -05:00
ggurdin
19d11994d6
removed message data controller 2025-12-03 13:58:46 -05:00
ggurdin
a56ba59316
initial work to remove speech to text controller from pangea controller 2025-12-03 12:07:36 -05:00
ggurdin
613a4cce9c
feat: show language mismatch popup on select message not in L2 2025-12-03 11:38:36 -05:00
ggurdin
895654b2b5
refactor: reduce duplicate data-fetching related logic in select mode controller 2025-12-02 15:18:37 -05:00
ggurdin
c70e066e9e
add mixin with function to set lemma emoji and send analytics 2025-12-02 12:33:09 -05:00
ggurdin
8c404758ef
initial work to normalize sending on emoji analytics / settings of user lemma emojis 2025-12-01 15:21:06 -05:00
ggurdin
660b92fdf1
refactor: reorganize / simplify practice mode (#4755)
* refactor: reorganize / simplify practice mode

* cleanup

* remove unreferenced code

* only use content words in emoji activities
2025-12-01 13:33:51 -05:00
ggurdin
a504b8b832
fix: update how top overflow is calculated for overlays (#4718) 2025-11-20 16:10:07 -05:00
avashilling
6e8a6f8332
rain confetti on activity finish (#4715)
* rain confetti on activity finish

also add continue button, and change copy for completed single practice activities

* fix: show confetti popup when finish all activities with grammar activity

* translations

---------

Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-11-20 14:55:27 -05:00
ggurdin
4eebc4b820
return domain-specific models from choreo-related repos, use future builders on async data when possbile 2025-11-12 10:18:58 -05:00
ggurdin
4b9fd02baf
some tweaks 2025-11-11 16:31:09 -05:00
ggurdin
98c373f299
resolve merge conflicts, 2025-11-11 15:16:48 -05:00
ggurdin
0ab91ccb68
feat: display user's subscription end/refresh date 2025-11-11 13:45:22 -05:00
ggurdin
c256388e8b
remove unnecesary choreographer extensions 2025-11-10 15:57:40 -05:00
ggurdin
f681ffa71f
refactor: move all messaging sending logic into the chore controller, reduce full rebuilds of the chat view 2025-11-10 13:56:12 -05:00
ggurdin
3afd97fe07
formatting 2025-11-06 13:23:45 -05:00
ggurdin
513184e1e1
reorganize files 2025-11-06 12:08:20 -05:00
ggurdin
d35a978817
resolve merge conflicts 2025-11-06 10:45:00 -05:00
ggurdin
ff21ab8608
refactor: replace activity stats menu with smaller button 2025-11-05 13:44:25 -05:00
ggurdin
2b522b6dd7
widgets refactor 2025-11-03 12:52:22 -05:00
ggurdin
14621e0963
Merge branch 'main' into choreographer-refactor 2025-10-30 10:04:49 -04:00
ggurdin
7273b595fc
4546 course activities not shown to newly joined member (#4549)
* fix: wait for room in sync after joining via invite dialog before navigating to detail page

* fix: render end button and text explanation using the samel logic, don't show activity stats menu instruction popup if user has finished actiivty

* fix: don't redirect from out space on delete child room

* fix: don't clear localized course cache of target language update
2025-10-30 09:57:17 -04:00
ggurdin
d945959ba0
full refactor of all chore-related controllers 2025-10-29 17:07:15 -04:00