AurumGlobalHeader
Aurum's global header — the persistent top bar used on every top-level destination (Home, Transactions, NEK, Rewards).
| family | Navigation |
|---|---|
| platform | iOS 17+ · SwiftUI |
| figma | component master ↗ |
| source | Sources/Aurum/Component/Navigation/AurumGlobalHeader.swift |
| code connect | FigmaConnect/Sources/AurumFigmaConnect/AurumGlobalHeader.figma.swift |
| snapshots | 1 baselines · iPhone 17 Pro · iOS 26.5 |
Aurum's global header — the persistent top bar used on every top-level
destination (Home, Transactions, NEK, Rewards). The SwiftUI port of
aurum-android's AurumGlobalHeader (Figma node 5252:2274).
Visual structure (left → right):
- Leading profile pill — 44 pt circular pill with a 1 pt
interactive/border/neutral/muted border and a soft radial sheen.
Accepts an AurumIconAsset glyph via profileIcon (default
AurumIcons.User.user) or any caller-supplied view via the
profileContent slot for URL-loaded avatars.
- Right group — see AurumGlobalHeaderRightContent.
When the header touches the top screen edge, containerColor bleeds
under the status bar automatically while content stays clear — the
equivalent of Android's internal status-bar inset handling.
Intended use
Use as the persistent top bar on every top-level destination — Home, Transactions, NEK, Rewards. The two AurumGlobalHeaderRightContent variants cover the design-system canonical right-side affordances; don't roll a custom header for these screens.
Do
- Choose the
.livePricevariant only on screens where the live gold buy price is part of the screen's purpose (e.g. the home feed); use.defaultelsewhere. - Hoist the rewards / notifications tap handlers up to your navigation coordinator so badge counts stay in sync with state changes.
- Pass
profileContentfor URL-loaded avatars — the slot fills the pill's inner circle (inside the 1 pt border, clipped circular), so hand it a full-bleed image with.scaledToFill(); don't size or clip it yourself.
Don’t
- Roll a custom top bar and tint it with Aurum colours — this component exists to prevent that anti-pattern.
- Render two
AurumGlobalHeaders on one screen — one per screen, anchored to the top inset. - Mix
.livePricewithnilrewards on a screen where users expect Rewards / Notifications access — hide the rewards pill only where those affordances are unambiguously available elsewhere.
Snapshots
Recorded on the pinned simulator — iPhone 17 Pro · iOS 26.5 · Xcode 26.6.
Code Connect
Mapped to Figma node 5252:2274 ↗ — SwiftUI snippets appear in Dev Mode for the latest release.