Commit e426beb
feat: daily coding challenges (#1635)
* feat: daily coding challenges (#1597)
* feat: daily coding challenges
* cfeat: block view
* feat: add notification indicator [skip ci]
* Revert "feat: add notification indicator [skip ci]"
This reverts commit 7fbf03a.
* feat: archive page for daily challenges
* fix: import order
* feat: add Daily Challenge Card widget to Learn Landing View (#1598)
* feat: daily challenges service (#1601)
* feat: daily challenges service
* feat: register DailyChallengesService in the locator
* feat: refactor DailyChallengeCard to StatefulWidget and implement countdown timer
* chore: remove unused endpoint
---------
Co-authored-by: sembauke <semboot699@gmail.com>
* chore: rename file (#1602)
* feat(service): add /daily-challenge/today route (#1605)
* refactor: move daily challenges models to a separate file (#1608)
* refactor: move daily challenges models to a separate file
* fix: parse date string to datetime
* refactor: update Daily Challenge Card styling and text content
* feat: implement daily challenge fetching and UI updates
* chore: bring `main` changes to `feat/daily-challenges` (#1614)
* refactor: separate daily challenges and standard challenges (#1606)
* refactor: separate daily challenges and standard challenges
* feat: handle daily challenge in ChallengeTemplateView
* fix: use completedDailyCodingChallenges array
* feat: switch to list view
* refactor: move block widget into daily_challenges_view
* refactor: daily challenge models and navigation logic
* fix: color usage
* feat: handle onPressed logic of daily challenge card CTA (#1619)
* refactor: map DailyChallengeBlock to Block
* feat: handle onPressed logic of daily challenge card CTA
* fix: use /today route
* refactor: make format utils sharable
* test: add unit tests for the utils
* feat(service, model): handle daily challenge completed (#1623)
* feat(service, model): add /daily-coding-challenge-completed
* feat(service): handle daily challenge completion
* feat(daily challenges): allow selecting and storing selected language (#1626)
* refactor: use DailyChallengeLanguage enum
* feat: allow selecting and storing selected language
* fix: reinitialize challenge file when language is switched
* refactor: move formatChallengeDate to challenge_utils
* fix: use the correct challenge object for daily challenge when rebuild
* fix: cache daily challenge data to avoid refetch when switching lang
* refactor: parse lang from string
* refactor: simplify _dailyChallengeLanguageSelector
* fix: daily challenge card label (#1629)
* fix: display daily challenge card content based on completion status (#1631)
* chore: update daily challenge API endpoints (#1630)
* chore: update daily challenge API endpoints
* fix: change _id to id
* fix: update test runner to handle challengeType 28 and 29 (#1634)
* fix: update test runner to handle challengeType 28 and 29
* fix: properly support challengeType 29
* fix: hide preview from challengeType 28 and 29
* fix: populate challenges and challengeTiles in DailyChallengeBlock
* fix: add CSRF token and JWT access token to challenge completion request
* fix: update assets/test_runner to match main
* chore: clean up challengeCompleted computation from daily challenges widgets
* chore: pin timezone package version
* fix: hide progress indicator for daily challenges
* fix: call fetchUser after submitting the completed challenge
* fix: import order
* refactor: update comments for setSelectedDailyChallengeLanguage method
* refactor: rename service for consistency
* refactor: move getDailyChallenge to daily challenge service
* refactor: change daily_challenges to daily_challenge for consistency
* refactor: move /today call from daily challenge card to landing viewmodel
* chore: log errors and flatten getDailyChallenge function
* fix: daily challenges icon in drawer
* refactor: rename timer to countdownTimer
* fix: correct language selector color when test panel is displayed
* fix: font size of daily challenge card title
* fix: sync test list with selected language
* fix: handle reset code for daily and standard challenge separately
* fix: update daily challenge completion status based on isLoggedIn
* fix: reflect completion status on daily_challenge_view correctly
* feat: curriculum tests for daily challenges
* refactor: simplify challenge type check using array
* fix: reset tests panel visibility when setting daily challenge language
* fix: semantic label for completion state
* fix: use injected DailyChallengeService for fetching challenges
* test: daily_challenge_view tests
---------
Co-authored-by: Sem Bauke <semboot699@gmail.com>
Co-authored-by: Niraj Nandish <nirajnandish@icloud.com>1 parent af93125 commit e426beb
29 files changed
Lines changed: 2561 additions & 194 deletions
File tree
- .github/workflows
- mobile-app
- integration_test/test_runner
- lib
- app
- models/learn
- service
- learn
- ui
- views/learn
- challenge
- templates
- daily_challenge
- landing
- utils
- widgets
- pass
- widgets/drawer_widget
- test
- helpers
- unit
- widget
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
107 | 109 | | |
108 | 110 | | |
109 | 111 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
219 | | - | |
| 220 | + | |
220 | 221 | | |
221 | 222 | | |
222 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
| 64 | + | |
62 | 65 | | |
63 | 66 | | |
64 | 67 | | |
| |||
70 | 73 | | |
71 | 74 | | |
72 | 75 | | |
| 76 | + | |
73 | 77 | | |
74 | 78 | | |
75 | 79 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments