Skip to content

Batch playlist selection, NetEase sync de-dup, and source tagging#1186

Merged
theovilardo merged 2 commits intotheovilardo:masterfrom
serein-213:feature/batch-edit-playlist
Feb 22, 2026
Merged

Batch playlist selection, NetEase sync de-dup, and source tagging#1186
theovilardo merged 2 commits intotheovilardo:masterfrom
serein-213:feature/batch-edit-playlist

Conversation

@serein-213
Copy link
Copy Markdown
Contributor

@serein-213 serein-213 commented Feb 22, 2026

Summary
This PR improves playlist multi-selection UX, prevents duplicate NetEase playlists during sync, and adds a source tag to playlists (Local, NetEase, AI) with UI indicators.

Changes

  • Refined PlaylistItem click/long-press handling to make selection behavior clearer.
  • Added source to Playlist model and plumbed it through playlist creation.
  • Implemented NetEase playlist de-dup using a stable custom ID during sync.
  • Marked NetEase playlists with source metadata and added UI badges for NetEase/AI.

Why

  • Avoid repeated playlist creation when re-syncing NetEase data.
  • Make playlist origin explicit for UI/UX and future sync rules.
  • Improve readability and maintainability of selection logic.

Notes

  • Existing playlist creation remains backward compatible; source defaults to LOCAL.
  • NetEase playlists are now identifiable by a stable prefixed ID.

- Add multi-select mode for playlists with long-press gesture support
- Create PlaylistSelectionStateHolder to manage selected playlists state
- Implement PlaylistMultiSelectionBottomSheet for batch operations
- Add batch playlist operations: delete, merge, export as M3U, share as ZIP
- Update PlaylistContainer with selection animations (scale, border, color)
- Add selection indicators (numbered badges) for selected playlists
- Enhance PlaylistItem with scale animation and border effects
- Integrate playlist selection UI into LibraryPlaylistsTab
- Add merge playlist dialog with name input
- Support Select All / Deselect buttons in playlist selection mode
- Update LibraryScreen to toggle between song and playlist selection modes
- Improved PlaylistItem click/long-press logic for better readability
- Implemented NetEase playlist de-duplication using custom IDs
- Added 'source' property to Playlist model to track origin (Local, NetEase, AI)
- Displayed visual indicators for NetEase and AI generated playlists in UI
- Translated all comments to English and removed emojis in modified files
@theovilardo theovilardo merged commit 393148f into theovilardo:master Feb 22, 2026
@serein-213 serein-213 deleted the feature/batch-edit-playlist branch February 22, 2026 10:14
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.

2 participants