Skip to content

Feature/integrated kanban view - #851

Open
Quickstilver wants to merge 5 commits into
ransome1:mainfrom
Quickstilver:feature/integrated-kanban-view
Open

Feature/integrated kanban view#851
Quickstilver wants to merge 5 commits into
ransome1:mainfrom
Quickstilver:feature/integrated-kanban-view

Conversation

@Quickstilver

@Quickstilver Quickstilver commented Jan 21, 2026

Copy link
Copy Markdown

Description

This PR adds a Kanban board visualization for todo.txt management with drag-and-drop functionality.

Features

  • Four-column Kanban board:

    • Backlog: Todos without near-term due dates
    • This Week: Todos due within 7 days
    • In Progress: Todos tagged with wip:1
    • Done: Completed todos
  • Drag-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

  • Added 17 unit tests covering core logic and behavior
  • All 49 tests passing
  • Tests cover priority color logic, column categorization, and sorting

Additional Changes

  • Created src/renderer/env.d.ts with global TypeScript definitions
  • Fixed TypeScript configuration in tsconfig.node.json and tsconfig.web.json
  • No breaking changes to existing functionality

Checklist

  • Code follows the project's coding guidelines
  • Tests written and passing
  • TypeScript types properly defined
  • Commit message follows guidelines
  • Tested in running application (requires Node.js >=22)

@ransome1

Copy link
Copy Markdown
Owner

@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.

@Lezurex

Lezurex commented Feb 3, 2026

Copy link
Copy Markdown
Collaborator

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.

@Lezurex

Lezurex commented Feb 9, 2026

Copy link
Copy Markdown
Collaborator

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.

@DeflateAwning

Copy link
Copy Markdown

This seems like it'd be a really neat feature! Have always thought it could be so cool to see.

Quickstilver and others added 5 commits May 17, 2026 16:19
- 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
@Quickstilver
Quickstilver force-pushed the feature/integrated-kanban-view branch from 1e49d18 to 81aa105 Compare May 17, 2026 14:54
@Quickstilver

Copy link
Copy Markdown
Author

Hey @Lezurex I've addressed your feedback:
Rebased onto main, used ui tests and i've removed the commented-out code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Feature requests

Development

Successfully merging this pull request may close these issues.

4 participants