[FE-COMP-023] fe-comp: Add drag-and-drop for playlists
This commit is contained in:
parent
c67bde1555
commit
62601fe77e
1 changed files with 10 additions and 3 deletions
|
|
@ -7940,8 +7940,13 @@
|
|||
"description": "Add drag-and-drop reordering for playlist tracks",
|
||||
"owner": "frontend",
|
||||
"estimated_hours": 4,
|
||||
"status": "todo",
|
||||
"files_involved": [],
|
||||
"status": "completed",
|
||||
"files_involved": [
|
||||
"apps/web/src/features/playlists/components/PlaylistTrackList.tsx",
|
||||
"apps/web/src/features/playlists/components/PlaylistTrackItem.tsx",
|
||||
"apps/web/src/features/playlists/hooks/usePlaylist.ts",
|
||||
"apps/web/src/features/playlists/services/playlistService.ts"
|
||||
],
|
||||
"implementation_steps": [
|
||||
{
|
||||
"step": 1,
|
||||
|
|
@ -7961,7 +7966,9 @@
|
|||
"Unit tests",
|
||||
"Integration tests"
|
||||
],
|
||||
"notes": ""
|
||||
"notes": "",
|
||||
"completed_at": "2025-12-25T16:00:00.000Z",
|
||||
"implementation_notes": "Drag-and-drop functionality for playlist tracks was already fully implemented. The system uses @dnd-kit library for modern, accessible drag-and-drop. Features include: DndContext for drag context management, SortableContext with verticalListSortingStrategy for sortable items, useSortable hook for each track item with visual feedback (opacity change when dragging), PointerSensor with 8px activation distance to prevent accidental drags, KeyboardSensor for keyboard accessibility, optimistic UI updates with automatic rollback on error, visual drag handle (GripVertical icon) that appears when drag-and-drop is enabled, proper error handling with toast notifications, integration with reorderPlaylistTracks API service, and conditional enabling based on user permissions (canEdit). The implementation is production-ready and includes comprehensive error handling, accessibility support, and a smooth user experience."
|
||||
},
|
||||
{
|
||||
"id": "FE-COMP-024",
|
||||
|
|
|
|||
Loading…
Reference in a new issue