feat: Task List V2 ViewModel layer (PR #2)#1200
Open
igorescodro wants to merge 6 commits intotask-list-part-1from
Open
feat: Task List V2 ViewModel layer (PR #2)#1200igorescodro wants to merge 6 commits intotask-list-part-1from
igorescodro wants to merge 6 commits intotask-list-part-1from
Conversation
e61c16d to
7631c18
Compare
b11ca6f to
95ffc08
Compare
7631c18 to
1020ddc
Compare
95ffc08 to
c72e8cc
Compare
1020ddc to
40373f8
Compare
Registers the TaskListV2 route in the navigation destinations module, making it accessible from the navigation graph. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces the ViewModel and view state for the Task List V2 screen, supporting grouped task sections (overdue, today, upcoming, completed, no date), task counts, and an inline add-task field. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds LoadCategoryFake and LoadTasksByCategoryFake test doubles alongside comprehensive ViewModel tests covering state emissions, task grouping by due date, task counts, and add-task behaviour. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wires TaskListV2ViewModel into the task Koin module so it can be injected across the presentation layer. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moves item mapping logic into a dedicated TaskItemMapper class, registers it in the Koin module, and corrects the DateTimeProvider import in ViewModel tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reworks category loading in the ViewModel to handle the nullable result directly rather than relying on a fake isNull flag. Updates LoadCategoryFake and LoadTasksByCategoryFake accordingly, and rewrites the test suite to follow the given/when/then structure with per-test category setup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
40373f8 to
cef8c31
Compare
c72e8cc to
1c8257e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements presentation/ViewModel layer for Task List V2 feature:
TaskListV2(categoryId)navigation destinationTaskListV2ViewStatewith sealed state classes (Loading, Error, Loaded)TaskListV2ViewModelwith task grouping logic (Overdue/Today/Upcoming/Completed/No Date)TaskItemMapperto handle entity mapping (follows existing mapper pattern)TaskListV2ViewModelin Koin DILoadTasksByCategoryFake,LoadCategoryFake)Changes
TaskItemMapperforTaskWithCategory → TaskItemconversionTaskListV2ViewStatewith sealed classesTaskListV2ViewModelwith reactive flow-based architectureTest Results
✅ Generated with Claude Code