shadcn.io is not affiliated with official shadcn/ui
Import Progress Account Block for React
An import in progress into a new account: an overall count, a row for each resource with its state, a log in the theme's colours, Run next one resource per press and Retry for a failure.
Installation
Overview
Show an import while it runs, without a spinner and without a promise it cannot keep, with this migration panel for React with Base UI. The top band adds up the five resources into one count and bar: how many records are written of how many. A row for each resource, Contacts, Projects, Files, Comments and Settings, gives its state as a word with an icon in an outline Badge, its own count and thin bar and one line on what it holds or why it stopped. A fixed-height log under them, in the theme's own colours, gains the lines of whatever just ran. Nothing runs by itself: the header's Shine Button, Run next, imports the first waiting resource for each press, and Files has failed part-way and offers Retry. Start over puts the demo back. It's built from Badge, Button, Shine Button and Guides, with a CSS entrance only. For onboarding, account settings and any app that moves data in from another service.
FAQ
How do I fill it with my resources?
Edit FIRST: each resource has an id, a name, a short hint, its total, how many are done and, when it stopped, the reason in failed. State is worked out, not typed: all written is Done, a reason with records still to write is Failed, anything else is Waiting. The overall count and every percentage come from the same list. The log's lines are typed in LINES and the order they appear in is kept in state, with their times counted from a start time.
What stays local, and how do I make it real?
All of it. Run next marks a resource written in this page and adds its lines to the log; no record is read from the old account or written to the new one, and the status line says so each time. To make it real, run the import as a job on your server, send the counts and the log lines to the page as they happen, and let Retry ask the server to resume. Keep the rule that the page shows what the server reports, never an estimate.
Why does Files fail, and what does Retry do?
It fails by design, so the failed state is reachable: it stopped at 5,800 of 9,400 because the old account closed the connection. Its row says where and why, and Retry writes the rest and adds two lines to the log. Run next skips a failed resource, and when only the failed one is left it says to retry it first.
How does the log behave?
It is a scrolling region with a name that keyboard users can focus and scroll, held at one height whatever it holds, and it shows the newest line when one is added. It is not a live region: the single status line is the one that speaks, so a screen reader hears what changed once. The text is plain monospace in the theme's colours, so it follows light and dark.
How does it look on a phone?
Each resource becomes a short stack: the name with its state at the end, the bar, the count and the line under them. Every row keeps one height whatever its state, so Retry appearing or going never moves the others. The log keeps its height, and the status line sits over Start over in the foot.
Is it accessible?
State is a word with an icon, never a colour, the bars are decorative because every count is in the text beside them, and the buttons say which resource they act on. Run next waits quietly with the same label when nothing is waiting and explains itself if pressed. The status line is polite and present from the start.
Related
- Pro
A transfer to another app in five steps: choose where, tick what moves, map each field, review what stays behind and start, with a real download of the sample records.
- Pro
Export requests as a lifecycle: a request checked with the password, a four-stage track that moves one stage per press, and a real sample file to download once it is ready.
- Pro
Import and Export Settings
Backups and exportsAn import rules panel with a dry run: three rules decide how rows match items on file, and a sample file of eight rows shows each row's verdict and four totals that change as the rules do, plus a real header-row CSV template to download.
- Pro
Merge Two Accounts Account
Connected appsA merge in three steps: the other account's email and code, the two accounts side by side with what moves, what is lost and three choices, and a confirm that closes the other account behind an alert dialog.
- Pro
The archives an account has asked for and not yet taken: a type filter, a table with size, request day and time to expiry, real sample downloads, Request again for an expired one and Undo.
- Pro
Two-Factor Methods Account
Sign-in methodsAn account's two-factor methods as rows with their role, history and a Test that opens a code field in place, Make primary, a guarded Remove, and a Set up that opens a QR code, a key name or a number.