-
Notifications
You must be signed in to change notification settings - Fork 121
[MBL-19375] To-do Filters #3761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Create TodoFilterViewModel with Input/Output separation - Create TodoFilterScreen with InstUI components - Add unit tests for TodoFilterViewModel - Update enum raw values to prevent ID collisions - Integrate with SessionDefaults for filter persistence 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Replace router.route with router.show for type-safe navigation - Rename onFiltersApplied to onFiltersChanged - Only invoke callback when filters actually change - Use viewController environment for dismissal instead of presentationMode - Add makePreviewViewController factory method to TodoAssembly - Fix TodoFilterOptions initialization to use .default 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Add local filtering logic to TodoFilterOptions and TodoVisibilityOption entities - Refactor TodoInteractor to always fetch maximum date range and apply filters locally - Add isCacheExpired() method to determine if API call is needed - Update TodoListViewModel to show loading state only when cache has expired - Store coursesStore as property to avoid duplication - Update tests to pass sessionDefaults parameter 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Changes: - Renamed SwipeToRemove → SwipeAction with configurable SwipeCompletionBehavior (.stayOpen, .reset) - Added dynamic swipe properties to TodoItemViewModel (background color, text, icon) that update based on done state - Updated TodoListViewModel to respect filter settings: cells reset when "Show Completed" is enabled, otherwise removed optimistically - Fixed animation timing to prevent visual glitches during state transitions - Handle edge case where checkbox + swipe undo should always toggle in place - Added discussionReply2 icon for undo action - Improved code organization with MARK comments and proper encapsulation using private(set) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Track filter state when loading todo items with two events: - todo_list_loaded_default_filter: when default filter is used - todo_list_loaded_custom_filter: when custom filter is applied Events include parameters for all filter options: - filter_personal_todos, filter_calendar_events - filter_show_completed, filter_favourite_courses - filter_selected_date_range_past/future 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
refs: MBL-19375 builds: Student affects: Student release note: Added filtering option to the To-do screen. test plan: - Test filtering functionality. - Make sure to test all kinds of events: assignments with due date, personal todo, personal event, global calendar event, group event.
Claude Code ReviewUpdated: 2025-11-18 Issues Found
✅ Approved with notes |
BuildsCommit: Fix swipe action bug and refactor to item-level behavior (00214e8) |
Fixes a bug where swipe stays open after undoing a pending removal. Refactors swipe behavior from list-level to item-level architecture. - Add isEnabled parameter to SwipeAction modifier - Move swipe behavior to TodoItemViewModel with computed properties - TodoInteractor sets filter settings on items at creation - Update tests to reflect new item-level architecture 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Claude Code ReviewUpdated: Wed Nov 19 08:38:37 UTC 2025 Critical Issues
Known Issues Acknowledged
Implementation Notes
|
What's new?
Known Issues
refs: MBL-19375
builds: Student
affects: Student
release note: Added filtering option to the To-do screen.
test plan:
Screenshots
Checklist