Skip to this topicSkip to main content

Where to?

Search My WoW Forever
GuidesStart small, step by step
ProfessionsRecipes, materials, skill-ups
AtlasZones, sub-zones and coordinates
DungeonsBosses, loot, maps and quests
TalentsBuild, rank and level in order
CharacterGear, stats and the simulator
Tier listBuilds and races, ranked by the sim
DatabaseEvery record, by name or ID
PrinciplesFoundations · 01
BrandFoundations · 02
ColourFoundations · 03
TypeFoundations · 04

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.

Notices<Notice tone="caution" />

Classic data

Boss abilities are Classic 1.12’s until Forever observations replace them.

Try a small batch

Five attempts are enough to see how a recipe’s colour moves.

Two items are not in the simulator yet

Ring of the Martyr and Ring of the Devoured stay empty there.

Saved

Your plan is saved on this device.

Sample character

A Dwarf Paladin in sample gear, labelled as a sample everywhere it appears.
Take heart, champion. The Spire is not taken by the reckless.

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.

ToastsuseToast()

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.

Loading<Loader /> <Skeleton /> <Progress />
Loading loot tables…
Lionheart HelmHead · plate
Frost Tiger BladeTwo-hand · sword
Arcanite BarTrade good
Crafting attempts done3 / 5
Importing the build

Use
Under a second: nothing. Up to ten: a skeleton in the shape of what is coming. Longer, or steps: progress with a count.

Empty and failed<StateMessage />

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.

Meter<Meter />
Orange: a skill-up every timeYellow: usuallyGreen: sometimesGrey: never

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>;
}