Phase 3: rekordbox XML export UI (busy state + result panel)#13
Open
xxvw wants to merge 1 commit into
Open
Conversation
…import The Library screen now reflects the actual lifecycle of an export or import dispatch: - A `libraryBusy` flag is raised between the moment the user accepts the file-picker dialog and the IPC reply, so the Export Library… / Import Library… buttons disable themselves and show "Exporting…" / "Importing…" labels (preventing accidental re-trigger on a slow exporter). - The previous one-line "Exported N tracks" hint is replaced by a dedicated `LibraryResultPanel` showing the destination path (mono-formatted), track count, byte size for export, and imported/updated/skipped counts for import. Warnings collapse into a `<details>` block so the success line stays uncluttered when the warning list is non-empty. - Errors get a separate red-bordered variant with the full message in a preformatted block so multi-line errors from the plugins (e.g. "no exporter registered for serato") stay readable. CSS lives next to the component (LibraryResultPanel.css) following the same colocated pattern FormatPickerModal already uses, so App.css is not touched.
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
Phase 3 polishes the Library Export / Import experience now that the
rekordbox XML exporter actually writes a file end-to-end (Phase 2).
libraryBusy: 'export' | 'import' | nullflag is raisedbetween the file-picker reply and the IPC reply, so the toolbar
buttons disable themselves and switch labels to "Exporting…" /
"Importing…" during a slow dispatch.
dedicated
LibraryResultPanelshowing destination path(mono-formatted), track count, byte size for export, and
imported/updated/skipped for import. Warnings collapse into a
<details>block.<pre>block.LibraryResultPanel.css(App.cssuntouched), matching the colocation pattern used for
FormatPickerModal.cssin Phase 0.Test plan
cargo test --workspace(carried over from main, no Rust changes here).tsc --noEmitinui/— passes.buttons render correctly and the FormatPickerModal opens (see
screenshots/library-export-ui/{before,annotated,after}/).The busy-state label flip and LibraryResultPanel still need a
manual smoke test with a real Tauri build because they depend
on real IPC traffic.