feat(web): add duplicate playlist flow under the New nav button#14319
Open
dylanjeffers wants to merge 1 commit into
Open
feat(web): add duplicate playlist flow under the New nav button#14319dylanjeffers wants to merge 1 commit into
dylanjeffers wants to merge 1 commit into
Conversation
|
This was referenced May 15, 2026
1a3da32 to
0d699e5
Compare
Adds a "Duplicate Playlist" secondary action to the sidebar's New (+) popup menu. Opens a modal where the user pastes any public Audius playlist URL, sees a preview of the source playlist (title, description, cover art), and toggles per-field switches to customize what should differ in the copy. The duplicated playlist is created as private by default (enforced by the existing optimisticallySavePlaylist saga). Scope: - Metadata-only duplication for now. Tracks are not copied — a follow-up PR will support full duplicate including track contents. The modal surfaces this with a helper line so users know they need to add tracks separately. - Reuses the existing createPlaylist saga: when artwork is not customized, we pass the source playlist's cover_art_sizes CID through so the saga reuses the cover instead of treating it as a new upload. Implementation: - New `DuplicatePlaylistModal` Redux modal slice (createModal helper). - New `DuplicatePlaylistModal` component (Harmony Modal + TextInput + Switch + TextArea + Artwork + UploadArtwork). - Resolves pasted URL → permalink via `getPathFromPlaylistUrl`, then loads the source via `useCollectionByPermalink`. - Wires "Duplicate Playlist" into `CreatePlaylistLibraryItemButton`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
e4e9fe5 to
74f3c41
Compare
Contributor
🌐 Web preview readyPreview URL: https://audius-web-preview-pr-14319.audius.workers.dev Unique preview for this PR (deployed from this branch). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Duplicate Playlist secondary action to the sidebar's
+(New) popup menu. Users paste any public Audius playlist URL, see a preview of the source (title, description, cover art), and toggle per-field switches to choose what to customize in the copy. The duplicated playlist is created as private by default.Stacks on top of #14318 (Create Playlist modal) — review/merge that first.
Scope:
cover_art_sizesCID through to the existingcreatePlaylistsaga so it reuses the cover instead of treating it as a new upload. No content node re-upload required.Implementation
DuplicatePlaylistModalRedux modal slice (via existingcreateModalhelper) registered in modals types/reducers/parent state.DuplicatePlaylistModalcomponent using HarmonyModal+TextInput+Switch+TextArea+Artwork+ the existingUploadArtwork.getPathFromPlaylistUrl→useCollectionByPermalinkto load the source collection.CreatePlaylistLibraryItemButtonbetween Create Playlist and Create Folder.Test plan
+→ Duplicate Playlist<Source Title> (Copy), the source description, and the source cover art reused (no re-upload)Follow-ups
duplicatePlaylistaction + saga that chainscreatePlaylistthenaddTrackToPlaylistper track).🤖 Generated with Claude Code