using EnvelopeGenerator.ReceiverUI.Web.Client.Api.Models; namespace EnvelopeGenerator.ReceiverUI.Web.Client.Services; /// /// Holds the current receiver authentication context for the active envelope. /// Scoped per circuit (Interactive Server) or per browser tab (Interactive WASM). /// /// Pages observe to re-render when the underlying /// auth response transitions (e.g. requires_access_code -> requires_tfa /// -> show_document). /// public class ReceiverAuthState { private ReceiverAuthResponse? _current; public string? EnvelopeKey { get; private set; } public ReceiverAuthResponse? Current => _current; public event Action? Changed; public void Set(string envelopeKey, ReceiverAuthResponse? response) { EnvelopeKey = envelopeKey; _current = response; Changed?.Invoke(); } public void Clear() { EnvelopeKey = null; _current = null; Changed?.Invoke(); } }