SyncStatusPresentation class

Pure per-arm presentation of the live SyncStatus — ONE mapping shared by the compact badge row and the sync-detail sheet (the two surfaces show the same state and must never drift on icon/headline/copy). Extracted from the badge (spec §3.3, ADR-0533); the COLOR stays separate — it comes from walletBadgeLevel (the gate-8 truth-tabled health rule), never from here.

Constructors

SyncStatusPresentation({required WalletGlyph icon, required String headline, String? trailing, List<String> details = const [], bool scanning = false, double? progress})
const

Properties

details → List<String>
Plain-language detail lines — none, one, or (on an arm that carries a degraded pool report, §4r U-3) one more per affected pool. The badge row no longer renders these (fixed single-row height — the maintainer's no-layout-shift ask); they ride the badge's a11y label and the detail sheet, where they follow the arm's explanation.
final
hashCode → int
The hash code for this object.
no setterinherited
headline → String
One-line state headline ("Up to date", "Scanning 42%", …).
final
icon → WalletGlyph
final
progress → double?
0..1 bar value; null while scanning means an indeterminate animation (the opaque early phase of a deep sync).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scanning → bool
Whether a progress bar should be drawn for this state.
final
trailing → String?
Optional compact same-row chip (the "1.6M blocks left" countdown).
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited