Feature/integrated kanban view - #851
Conversation
|
@Quickstilver hey, thanks for contributing. I am unfortunately not able to access my computer at the moment and it will take some time before I will be able to look at this. I'll get back to you soon. |
|
Hi @Quickstilver Thanks for your contribution. One quick question: Is this still a work in progress? There are some chunks of code that are currently still commented out. If that's the case, please convert the PR to a draft and mark it as ready again, as soon as you're finished. |
|
Hi @Quickstilver I set up UI testing with testing-library on main. Feel free to rebase onto main and add proper UI tests instead of the current ones if you want to. |
|
This seems like it'd be a really neat feature! Have always thought it could be so cool to see. |
- Adds toggleable Kanban view alongside existing list view - Implements 4-column board: Backlog, This Week, In Progress, Done - Supports drag-and-drop between columns with automatic status updates - Preserves priority when moving todos between columns - Adds view toggle button in header (list/kanban icons) - Filters todos by due date and wip:1 tag - Displays clean todo body text with metadata in separate UI sections - Add new todo button in each column header for quick creation - Context menu support for editing, priority changes, and deletion - Inline styles ensure proper visibility across themes Modified files: - src/renderer/App.tsx: Conditional rendering for Kanban/List views - src/renderer/Header/Header.tsx: View toggle button - src/renderer/Header/Header.scss: Updated toolbar styling - src/main/config.ts: Added viewMode setting (list/kanban) - src/main/IpcMain.ts: Fixed FiltersStore import - src/main/Menu.ts: Code cleanup - electron.vite.config.ts: Formatting cleanup New files: - src/renderer/Kanban/KanbanView.tsx: Main Kanban component - src/renderer/Kanban/KanbanView.scss: Kanban styling
Implement a Kanban board visualization for todo.txt with four columns: - Backlog: Todos without near-term due dates - This Week: Todos due within 7 days - In Progress: Todos tagged with wip:1 - Done: Completed todos Features: - Drag-and-drop todo cards between columns - Automatic categorization based on due dates and tags - Priority-based sorting within columns - Context menu for quick actions (edit, complete, set priority, delete) - Add new todo directly from any column - Display of todo properties (priority, projects, contexts, due dates) Includes 17 unit tests covering core logic and behavior. Adds global TypeScript definitions for better type safety.
- Remove all commented helper functions that were not being used - Remove filters and settings parameters from KanbanViewProps interface - Update App.tsx to not pass unused props to KanbanView - All 49 tests still passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace placeholder unit tests with @testing-library/react UI tests covering column rendering, todo categorization, user interactions, card display, and priority sorting - Add viewMode to SettingStore TypeScript type - Format kanban files with Prettier
1e49d18 to
81aa105
Compare
|
Hey @Lezurex I've addressed your feedback: |
Description
This PR adds a Kanban board visualization for todo.txt management with drag-and-drop functionality.
Features
Four-column Kanban board:
wip:1Drag-and-drop: Move todos between columns to update their status
Priority-based sorting: Todos within each column sorted by priority
Context menu: Quick actions (edit, complete, set priority, delete)
Add todo from column: Create new todos with appropriate tags/dates
Visual indicators: Display priority badges, projects, contexts, and due dates
Testing
Additional Changes
src/renderer/env.d.tswith global TypeScript definitionstsconfig.node.jsonandtsconfig.web.jsonChecklist