using static Shogi.UI.Shared.Events; namespace Shogi.UI.Pages.Home.Account; public class AccountState { public event AsyncEventHandler? LoginChangedEvent; public User? User { get; private set; } public Task SetUser(User? user) { User = user; return EmitLoginChangedEvent(); } private async Task EmitLoginChangedEvent() { if (LoginChangedEvent is not null) { await LoginChangedEvent.Invoke(new LoginEventArgs { User = User }); } } }