Skip to content

feat(F6): Implement bookmark-level DnD in list/grid views #17

Description

@ryota-murakami

Bookmark-level Drag & Drop

Parent: #4 (P4 Organization)
Feature: F6 — Easy Group ↔ Collection Editing
Found by: QA review 2026-03-24

Problem

Collection-level DnD is fully implemented in left-sidebar.tsx, but bookmark-level DnD (dragging bookmarks between collections or reordering within a collection) is not implemented.

3 TODO comments remain in src/components/raindrop/raindrop-list-item.tsx:

  • Line 16: // TODO: @dnd-kit migration — GripVertical for drag handle
  • Line 190: // TODO: @dnd-kit migration — drag source setup
  • Line 205: // TODO: @dnd-kit migration — drag handle

Tasks

  • Add useSortable from @dnd-kit to raindrop-list-item.tsx
  • Add useSortable to raindrop-card.tsx (grid view)
  • Wrap view containers with DndContext + SortableContext in main-content.tsx
  • Implement onDragEnd handler — useBatchUpdateRaindropsMutation for cross-collection moves
  • Add drag handle (GripVertical icon) visible on hover
  • Add unit tests for bookmark reorder logic
  • Add E2E test: drag bookmark to different collection

Acceptance Criteria (from SPEC.md F6)

  • Drag bookmark between collections updates API
  • Reorder within collection works and persists
  • Drag preview shows bookmark title
  • Optimistic updates: UI updates immediately, reverts on error

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4Phase 4: Organization

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions