II · Components / 11
Feedback and status
Every part the site is built from, live, in both themes.
Feedback and status#
Say what happened, in words, where people are looking. Colour and icons support the words; they never replace them.
Classic data
Try a small batch
Two items are not in the simulator yet
The import failed
Saved
Sample character
Use
Info, tip, caution, danger and done; lore for the game’s own words; sample for anything that is not real data.
Avoid
A notice for something a field error or a toast would say better.
Use
Confirmation of something done, with Undo when it can be undone. A wax seal, one line, gone after five seconds, kept while you hover.
Use
Under a second: nothing. Up to ten: a skeleton in the shape of what is coming. Longer, or steps: progress with a count.
Uncharted
No epic plate matches this sample’s Classic Era loot listings and filters. Loosen a filter, or search everywhere.
Use
Say what is missing and offer the next step. Failures say what still works.
Use
A scale with meaning in its zones: recipe difficulty, reputation. The marker is you.
Implementation contract
Use it in the product
Say what happened, what is affected and what the reader can do next.
- Exports
- Notice, Loader, Skeleton, StateMessage, Progress, Meter, ToastProvider
- Source
src/components/waypoint/ui/primitives.tsx; src/components/waypoint/ui/interactive.tsx- Props and defaults
- Notice tone defaults to info; title, children, actions and onClose are optional. Set role to status or alert only when a live announcement is needed. StateMessage takes kind, title, children, actions and details.
- HTML and keyboard
- Icons and colour support text. Notices with controls stay in reading order. Retry is beside the failure; initial loading is distinct from partial data.
- States and themes
- Loading, empty, partial, failed, done and reversible action. Keep the prior view while an update runs; do not announce an unconfirmed save. A source that cannot be reached is a failure (StateMessage kind error), never an empty result: /search says the database is offline and what still works.
- Data and provenance
- Name the failed request or missing subset, its build and source. Unknown numbers are not zero. The current gear catalog is build 1.60.1.70245.
Example usage
import { Notice } from "@/components/waypoint/ui/primitives";
export function MissingStats() {
return <Notice tone="caution" title="Some stats are missing">The Forever client has no stat record for this item yet.</Notice>;
}

