Skip to content

feat: add note grouping with drag-and-drop sidebar organization#50

Merged
j4rviscmd merged 2 commits intomainfrom
feat/note-grouping
Mar 26, 2026
Merged

feat: add note grouping with drag-and-drop sidebar organization#50
j4rviscmd merged 2 commits intomainfrom
feat/note-grouping

Conversation

@j4rviscmd
Copy link
Copy Markdown
Owner

Summary

Add folder-style note grouping to the sidebar, allowing users to organize notes into named groups with date sub-grouping within each group.

Changes

Backend (Rust)

  • Add groups table with id, name, sort_order, created_at
  • Add group_id FK to notes table (ON DELETE SET NULL)
  • Implement 6 Tauri commands: list/create/rename/delete/reorder groups, set_note_group

Frontend

  • New features/groups module: types, API wrappers, hooks (useGroups, useGroupCollapse), pure grouping logic
  • Sidebar decomposition: NoteSidebar split into 8 focused components:
    • SidebarSearch, NoteItem, PinnedSection, DateGroup
    • GroupSection (sortable + droppable), UncategorizedSection (droppable)
    • GroupManageDialog, DeleteNoteDialog
  • Drag & Drop (@dnd-kit): note-to-group assignment + group reordering
  • Right-click context menu on group headers: Rename (inline edit) / Delete
  • IME composition handling: prevent Japanese input confirmation Enter from triggering form submit
  • Group collapse state persisted via tauri-plugin-store

UX

  • Uncategorized section for ungrouped notes
  • Search bypasses groups (flat date-grouped results)
  • Pinned notes stay above groups
  • DragOverlay shows note title during drag

j4rviscmd and others added 2 commits March 26, 2026 09:15
- Add groups table and notes.group_id FK (ON DELETE SET NULL)
- Implement 6 Tauri commands: list/create/rename/delete/reorder groups, set_note_group
- Decompose NoteSidebar into 8 focused components (NoteItem, GroupSection, etc.)
- Add collapsible group sections with date sub-grouping
- Support right-click context menu for group rename/delete
- Integrate @dnd-kit for drag-and-drop: note-to-group assignment + group reordering
- Add GroupManageDialog for group CRUD with IME composition handling
- Persist group collapse state via tauri-plugin-store
- Show uncategorized section for notes without groups
- Bypass groups during search (flat date-grouped results)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@j4rviscmd j4rviscmd merged commit c96bd96 into main Mar 26, 2026
@j4rviscmd j4rviscmd deleted the feat/note-grouping branch March 26, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant