mirror of
https://github.com/Heretek-AI/not-zune.git
synced 2026-10-12 02:04:04 +00:00
Each playlist card in the left rail is now a drag-drop target. Dragging a track from the right rail (PointerPressed starts DragDrop.DoDragDropAsync with a TrackListPayload) over a playlist card highlights it with the accent color (MultiBinding + PlaylistDropHighlightConverter comparing each Playlist's Id to the VM's HoveredPlaylist). After a 300ms dwell (Zune's signature hover pause), the hover-swap popup appears next to the hovered playlist listing the OTHER playlists; hovering each one swaps the drop target via SwapHoverTargetCommand (the user's 'hover-swap-icon' affordance from the r/Zune quote). Releasing the drag on the current hover target fires AddTracksToPlaylistCommand which calls the existing IMediaLibraryService.AddTrackToPlaylistAsync per track, sets a status message, and reloads the current tracklist. Nine new VM-level tests cover: EnterPlaylistDropZone / Leave / Refresh, ClearPlaylistHover, HoverSwapAlternatives filtering, SwapHoverTargetCommand, AddTracksToPlaylistCommand payload + status message, and HoverSwapPlaylistName mirroring.