mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Adds a Progress(current, total, label?) variant to SigningOpState so multi-step signing operations (NIP-17 group sends via remote signer, batched zaps) can show "Encrypting via remote signer (3 of 5)" rather than an opaque indeterminate spinner. Backwards compatible: - Pending stays a data object — existing callers' `is Pending` checks unaffected. - New helper `isPending()` returns true for both Pending and Progress; SigningState.execute uses it so a second execute() during Progress returns null (matching the old single-flight semantics). - SigningAwareButton renders both Pending and Progress as a spinner; callers wanting the counter must read the state directly. - SigningStatusBar adds a Progress branch that shows "<label> (<current> of <total>)" — uses "Signing" as default label. New `SigningState.updateProgress(current, total, label?)` lets the in-flight block emit progress updates between Pending start and finish. No-op when state is Idle/Error so callers don't have to gate. Wire-up for NIP-17 bunker sends (publishing per-recipient progress during NIP17Factory.createWraps' mapNotNullAsync) is a follow-up that depends on threading the SigningState reference into the factory's signing lambda; the substrate is here.