Use on a read-only detail/record page while the single record is being fetched. Hidden once the record is displayed.
Loading…
Use on list/table pages while records are being fetched on page load or page change. Hidden as soon as rows render.
Loading records…
Use on an edit page while the record is being fetched and the form is being pre-filled. Hidden as soon as the form is populated.
Loading…
Use on the delete confirmation page while the record is being fetched so the user can see what they're about to delete. Hidden once the confirmation screen is ready.
Loading…
Use on a create form or edit form while the submit is in flight. Often paired with disabling the submit button. Hidden on success
Saving…
Use on list/table/card pages when the query returns zero records. Always pair with a clear next-step CTA (e.g. "Create your first todo"). Only shown when there are no records; hidden as soon as even one record renders.
You have no todos yet.
New TodoUse on list/table/card pages when the records fetch fails (network error, bad query, permissions). Pair with a retry link so the user isn't stuck.
Could not load records.
Try again Use inside a create or edit form when the save call itself fails. Distinct from list-error/edit-error because the page already loaded — only the submission failed. Hide it automatically as soon as the user edits any field or resubmits.
We couldn't save your changes. Please try again.
Use on edit, detail, or delete pages when a single record can't be loaded (missing ID, not found, no permission). Keep it as a static message — no retry needed since the user can simply reload or go back.
We couldn't load this record. It may have been deleted or you may not have access.
Use on a create or edit form after the record is successfully saved, before the redirect fires. Usually visible for 1–2 seconds to give the user confirmation.
Todo added. Redirecting…
Use on the delete page after the record is successfully deleted, before the redirect back to the list. Same 1–2 second confirmation window as form-success.
Todo deleted. Redirecting…