?
TRCKR-100
refactoring
Created: 2025-12-08 Updated: 2025-12-16
Relationships Loading...
Attachments
Loading...
Comments (1)
agent · 2025-12-08
Completed refactoring to extract filter logic into reusable module. What was done: 1. Created /Users/joe/gitea/trckr/tui/filters.py with: - FilterConfig dataclass to hold all filter state (lines 8-17) - IssueFilter.apply_filters() for issue filtering (lines 20-48) - ProjectFilter.apply_filters() for project filtering (lines 51-66) - MilestoneFilter.apply_filters() for milestone filtering (lines 69-80) 2. Updated /Users/joe/gitea/trckr/tui/app.py: - Added import for filter classes (line 70) - Added _get_filter_config() helper method (lines 489-501) - Refactored _refresh_issues() to use IssueFilter (lines 503-514) - Refactored _refresh_projects() to use ProjectFilter (lines 626-635) - Refactored _refresh_milestones() to use MilestoneFilter (lines 648-658) Code reduction: - Removed 42 lines of repetitive filter code - Added 80 lines of clean, reusable filter logic - Net change: +38 lines, but much better organized Verification: - All 832 tests passed - Commit: 43f0a6e - Merged to master and pushed to remote - Worktree cleaned up The filter logic is now centralized, testable, and much easier to maintain.