Added style support to Label, Panel, List, and Modal components by
implementing the gpui::Styled trait. This allows applying styles
directly to components without wrapping them in divs. Updated sidebar to
use Label component directly with styles instead of nested divs.
loading
- Read data.location from ~/.config/task/taskrc (supports
TASKDATA/TASKRC env vars)
- Add get_overview() method to fetch tasks, projects, tags in one call
(3→1 requests)
- Replace mock data with real TaskWarrior data
- Add logging with env_logger
- Improve tag logging output
- Error handling with TaskError enum and TaskResult<T> alias
- Data models: Task, TaskPriority, TaskStatus, TaskAnnotation
- Advanced filtering: TaskFilter with hierarchical projects, tags
(AND/OR), priority, due dates, and search
- TaskService: Full CRUD, tags, projects, annotations, dependencies,
sync
- Create StatusBar component with 30px fixed height
- Position at bottom of app layout with proper flex column structure
- Add placeholders for vim mode (left) and sync status (right)
- Reorganize App layout to accommodate status bar below main content
Add complete sidebar implementation with:
- ProjectTree model using arena allocator for hierarchical projects
- FilterState model for global filter state management
- Sidebar view with independent scrollable sections
- Project tree with expand/collapse functionality
- Tag selection with toggle support
- Observable filter state shared across components