BackupLaneState

sealed interface BackupLaneState

Branded "Backup & recovery" section for the wallet pill (#243/#244).

Three lanes, each with its own status:

  • Wallet identity → the passkey (the real recovery; always on).

  • Dust · balance sync → speed; can be Off / need consent.

  • App data → host state; null hides the lane.

When a lane is BackupLaneState.Syncing the Rarámuri LottieRunner runs along a track and the DustTrail it kicks up is the progress fill. Themeable via WalletPanelColors so each consuming app keeps its look. Animations only run in Interactive Preview / on device.

Inheritors

Types

Link copied to clipboard
data class Action(val label: String, val cta: String, val danger: Boolean = false, val detail: String? = null) : BackupLaneState
Link copied to clipboard
data class Ok(val label: String, val confirm: Boolean = false) : BackupLaneState
Link copied to clipboard
data class Syncing(val progress: Float?) : BackupLaneState

progress 0f..1f → determinate (% + fill); null → indeterminate.

Link copied to clipboard
data class Toggle(val on: Boolean, val busy: Boolean = false, val detail: String? = null) : BackupLaneState

An on/off capability rendered as a Switch — unambiguous "this is off, flip it on" (vs a label that read as already-enabled). on reflects state, busy shows a spinner while turning on, detail surfaces an error.