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 / 13

Data display

Every part the site is built from, live, in both themes.

Data display#

Numbers line up, every figure says where it came from, and every chart has a table behind it.

Tablewp-table
The sample paladin’s set · click a heading to sort
Coverage
Thick Obsidian BreastplateChest72814+16Forever client
Beads of Ogre MightNeck63Unknown+7Forever client
Lionheart HelmHead61565+0Forever client
Runic Plate ShouldersShoulder60427+14Forever client
Imperial Plate BracersWrist54225+8Forever client
Wild Leather CloakBack5033+0Forever client
6 items · client values and labelled Classic fallbacksSample set

Use
Sortable headings, numbers right-aligned in tabular figures, the source in the footer. Compact density is one setting away (see the nav).

Key facts<KeyFacts />
Item ID
12640
Item level
61
Required level
56
Build
Build1.60.1.70245
Source
Forever client
Verification
Unverified

Use
The top of every record: what it is, which build, where it came from.

Stats and changes<StatList /> <Delta />
Armor3,690From gear
Strength+120From gear
Agility+39From gear
Stamina+119From gear

Avenger's Breastplate instead of Thick Obsidian Breastplate · build 1.60.1.70245

Armor
+171
Strength
−15
Agility
+12
Stamina
+8
Intellect
+24

Use
Grouped as the planner groups them; changes as signed deltas with an arrow, never colour alone.

Money, keys, counts

Press ⌘ K to search · Shift pins a tooltip

DungeonNew in ForeverClassic dataIn reviewQuests 67
History<Timeline />
  1. Forever client build 1.60.1.70245 released

    The current client snapshot for gear and talents; Classic Era fallbacks are labelled.

  2. 31 dungeons and raids imported

    Bosses in the game's own order, loading screens and journal portraits, from the client.

  3. Game icons indexed

    Icons load by FileDataID from WarcraftDB; none are stored here.

  4. 2 talent records superseded

    Duplicate Hunter Lightning Reflexes with malformed X coordinate. Duplicate Priest Holy Specialization with malformed Y coordinate.

Use
What changed and when: builds, imports, corrections. Dated from the data files themselves.

Comparing two plans<Diff />
Conviction3 / 55 / 5
Sanctified Judgement0 / 33 / 3
Vengeance0 / 32 / 3
Pursuit of Justice2 / 20 / 2

Use
Only what changed, before and after. Here: a saved Retribution plan and the one being edited (a sample).

Implementation contract

Use it in the product

Compare recorded facts while keeping units, unknowns and provenance in reach.

Exports
Delta, StatList, Coins, KeyFacts, Timeline, Diff, Tiles
Source
src/components/waypoint/ui/primitives.tsx
Props and defaults
Delta requires value and label; suffix defaults to an empty string. StatList requires groups of labelled rows. KeyFacts requires [label, value] pairs. Diff requires rows and caption.
HTML and keyboard
Use table markup for column comparisons and right-align tabular numbers. A chart keeps a table view. Change direction is not automatically a benefit. A long record list may be a list that scans like a table (name, kind, ID right-aligned under what the ID is, status) so each row stays one link, and becomes one row per record on phones rather than a clipped table.
States and themes
Known zero, unknown, partial source, sorted and selected remain distinct. Never replace missing with an invented score.
Data and provenance
State the dataset build and method beside derived values. Source exceptions stay with the affected row. The current gear catalog is build 1.60.1.70245.
Example usage
import { KeyFacts, BuildTag } from "@/components/waypoint/ui/primitives";

export function LionheartFacts() {
  return <><BuildTag build="1.60.1.70245" /><KeyFacts items={[["Item level", 61], ["Item ID", 12640]]} /></>;
}