SigilStatusPanel

fun SigilStatusPanel(modifier: Modifier = Modifier, colors: SigilPanelColors = SigilPanelColors.Default, viewModel: SigilPanelViewModel = hiltViewModel(), onStatusChange: (SigilStatus) -> Unit = {})

Drop-in sigil identity pill for example apps. Mirrors com.midnight.kuira.dapp.wallet.WalletStatusPanel's shape and lives next to it in com.midnight.kuira.dapp.PanelBar:

  • Pill anchored top-left in the panel bar; the wallet pill takes top-right.

  • Tap opens a TOP sheet — visual mirror of the wallet panel's bottom sheet. The sheet renders state-dependent content: a "forge sigil" CTA when there's no identity yet, a spinner during the passkey ceremony, the DID + root key once forged, or an error + retry on failure.

  • Pill label: truncated DID (or "no sigil" / "forging…" / "sigil error" per state). Future: Midnames .night domain resolution.

State ownership: ships its own SigilPanelViewModel which owns the passkey manager + persisted-DID prefs. Host apps don't need to wire anything beyond placing this composable in PanelBar.